diff options
Diffstat (limited to 'js/src/jit-test/tests/wasm/spec/spec/simd_bit_shift.wast.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/spec/spec/simd_bit_shift.wast.js | 2102 |
1 files changed, 2102 insertions, 0 deletions
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`, +); |