summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/simd/select.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/wasm/simd/select.js')
-rw-r--r--js/src/jit-test/tests/wasm/simd/select.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/simd/select.js b/js/src/jit-test/tests/wasm/simd/select.js
new file mode 100644
index 0000000000..b3535d3039
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/simd/select.js
@@ -0,0 +1,33 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+wasmAssert(`
+(module
+ (func $f (param i32) (result v128)
+ (select ;; no type
+ (v128.const i32x4 1 2 3 4)
+ (v128.const i32x4 4 3 2 1)
+ (local.get 0)
+ )
+ )
+ (export "" (func 0))
+)`, [
+ { type: 'v128', func: '$f', args: ['i32.const 0'], expected: 'i32x4 4 3 2 1' },
+ { type: 'v128', func: '$f', args: ['i32.const 1'], expected: 'i32x4 1 2 3 4' },
+ { type: 'v128', func: '$f', args: ['i32.const -1'], expected: 'i32x4 1 2 3 4' },
+], {});
+
+wasmAssert(`
+(module
+ (func $f (param i32) (result v128)
+ (select (result v128)
+ (v128.const i32x4 1 2 3 4)
+ (v128.const i32x4 4 3 2 1)
+ (local.get 0)
+ )
+ )
+ (export "" (func 0))
+)`, [
+ { type: 'v128', func: '$f', args: ['i32.const 0'], expected: 'i32x4 4 3 2 1' },
+ { type: 'v128', func: '$f', args: ['i32.const 1'], expected: 'i32x4 1 2 3 4' },
+ { type: 'v128', func: '$f', args: ['i32.const -1'], expected: 'i32x4 1 2 3 4' },
+], {});