diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 16 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt | 24 | ||||
-rw-r--r-- | test/simd.wast | 5 | ||||
-rw-r--r-- | test/simd.wast.from-wast | 5 | ||||
-rw-r--r-- | test/simd.wast.fromBinary | 5 | ||||
-rw-r--r-- | test/simd.wast.fromBinary.noDebugInfo | 267 | ||||
-rw-r--r-- | test/spec/simd.wast | 4 |
7 files changed, 171 insertions, 155 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 118fcb3f3..a8aa05c4a 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -580,10 +580,10 @@ void test_core() { makeBinary(module, BinaryenMaxVecF32x4(), v128), makeBinary(module, BinaryenPMinVecF32x4(), v128), makeBinary(module, BinaryenPMaxVecF32x4(), v128), - makeBinary(module, BinaryenCeilVecF32x4(), v128), - makeBinary(module, BinaryenFloorVecF32x4(), v128), - makeBinary(module, BinaryenTruncVecF32x4(), v128), - makeBinary(module, BinaryenNearestVecF32x4(), v128), + makeUnary(module, BinaryenCeilVecF32x4(), v128), + makeUnary(module, BinaryenFloorVecF32x4(), v128), + makeUnary(module, BinaryenTruncVecF32x4(), v128), + makeUnary(module, BinaryenNearestVecF32x4(), v128), makeBinary(module, BinaryenAddVecF64x2(), v128), makeBinary(module, BinaryenSubVecF64x2(), v128), makeBinary(module, BinaryenMulVecF64x2(), v128), @@ -592,10 +592,10 @@ void test_core() { makeBinary(module, BinaryenMaxVecF64x2(), v128), makeBinary(module, BinaryenPMinVecF64x2(), v128), makeBinary(module, BinaryenPMaxVecF64x2(), v128), - makeBinary(module, BinaryenCeilVecF64x2(), v128), - makeBinary(module, BinaryenFloorVecF64x2(), v128), - makeBinary(module, BinaryenTruncVecF64x2(), v128), - makeBinary(module, BinaryenNearestVecF64x2(), v128), + makeUnary(module, BinaryenCeilVecF64x2(), v128), + makeUnary(module, BinaryenFloorVecF64x2(), v128), + makeUnary(module, BinaryenTruncVecF64x2(), v128), + makeUnary(module, BinaryenNearestVecF64x2(), v128), makeBinary(module, BinaryenNarrowSVecI16x8ToVecI8x16(), v128), makeBinary(module, BinaryenNarrowUVecI16x8ToVecI8x16(), v128), makeBinary(module, BinaryenNarrowSVecI32x4ToVecI16x8(), v128), diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index fe951cdcc..0e85ac18a 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -1235,26 +1235,22 @@ BinaryenFeatureAll: 4095 ) ) (drop - (i16x8.lt_s - (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (f32x4.ceil (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.lt_u - (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (f32x4.floor (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.gt_s - (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (f32x4.trunc (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.gt_u - (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (f32x4.nearest (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) @@ -1307,26 +1303,22 @@ BinaryenFeatureAll: 4095 ) ) (drop - (i16x8.ge_u - (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (f64x2.ceil (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.eq - (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (f64x2.floor (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.ne - (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (f64x2.trunc (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.lt_s - (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (f64x2.nearest (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) diff --git a/test/simd.wast b/test/simd.wast index 6bca3f1b4..fd430d4ed 100644 --- a/test/simd.wast +++ b/test/simd.wast @@ -508,6 +508,11 @@ (local.get $1) ) ) + (func $i8x16.popcnt (param $0 v128) (result v128) + (i8x16.popcnt + (local.get $0) + ) + ) (func $i8x16.abs (param $0 v128) (result v128) (i8x16.abs (local.get $0) diff --git a/test/simd.wast.from-wast b/test/simd.wast.from-wast index e402bab08..66fb68baa 100644 --- a/test/simd.wast.from-wast +++ b/test/simd.wast.from-wast @@ -525,6 +525,11 @@ (local.get $1) ) ) + (func $i8x16.popcnt (param $0 v128) (result v128) + (i8x16.popcnt + (local.get $0) + ) + ) (func $i8x16.abs (param $0 v128) (result v128) (i8x16.abs (local.get $0) diff --git a/test/simd.wast.fromBinary b/test/simd.wast.fromBinary index 932b45950..1b5c59e35 100644 --- a/test/simd.wast.fromBinary +++ b/test/simd.wast.fromBinary @@ -525,6 +525,11 @@ (local.get $1) ) ) + (func $i8x16.popcnt (param $0 v128) (result v128) + (i8x16.popcnt + (local.get $0) + ) + ) (func $i8x16.abs (param $0 v128) (result v128) (i8x16.abs (local.get $0) diff --git a/test/simd.wast.fromBinary.noDebugInfo b/test/simd.wast.fromBinary.noDebugInfo index 71bf02e56..8bfe343c9 100644 --- a/test/simd.wast.fromBinary.noDebugInfo +++ b/test/simd.wast.fromBinary.noDebugInfo @@ -526,736 +526,741 @@ ) ) (func $90 (param $0 v128) (result v128) - (i8x16.abs + (i8x16.popcnt (local.get $0) ) ) (func $91 (param $0 v128) (result v128) + (i8x16.abs + (local.get $0) + ) + ) + (func $92 (param $0 v128) (result v128) (i8x16.neg (local.get $0) ) ) - (func $92 (param $0 v128) (result i32) + (func $93 (param $0 v128) (result i32) (i8x16.any_true (local.get $0) ) ) - (func $93 (param $0 v128) (result i32) + (func $94 (param $0 v128) (result i32) (i8x16.all_true (local.get $0) ) ) - (func $94 (param $0 v128) (result i32) + (func $95 (param $0 v128) (result i32) (i8x16.bitmask (local.get $0) ) ) - (func $95 (param $0 v128) (param $1 i32) (result v128) + (func $96 (param $0 v128) (param $1 i32) (result v128) (i8x16.shl (local.get $0) (local.get $1) ) ) - (func $96 (param $0 v128) (param $1 i32) (result v128) + (func $97 (param $0 v128) (param $1 i32) (result v128) (i8x16.shr_s (local.get $0) (local.get $1) ) ) - (func $97 (param $0 v128) (param $1 i32) (result v128) + (func $98 (param $0 v128) (param $1 i32) (result v128) (i8x16.shr_u (local.get $0) (local.get $1) ) ) - (func $98 (param $0 v128) (param $1 v128) (result v128) + (func $99 (param $0 v128) (param $1 v128) (result v128) (i8x16.add (local.get $0) (local.get $1) ) ) - (func $99 (param $0 v128) (param $1 v128) (result v128) + (func $100 (param $0 v128) (param $1 v128) (result v128) (i8x16.add_saturate_s (local.get $0) (local.get $1) ) ) - (func $100 (param $0 v128) (param $1 v128) (result v128) + (func $101 (param $0 v128) (param $1 v128) (result v128) (i8x16.add_saturate_u (local.get $0) (local.get $1) ) ) - (func $101 (param $0 v128) (param $1 v128) (result v128) + (func $102 (param $0 v128) (param $1 v128) (result v128) (i8x16.sub (local.get $0) (local.get $1) ) ) - (func $102 (param $0 v128) (param $1 v128) (result v128) + (func $103 (param $0 v128) (param $1 v128) (result v128) (i8x16.sub_saturate_s (local.get $0) (local.get $1) ) ) - (func $103 (param $0 v128) (param $1 v128) (result v128) + (func $104 (param $0 v128) (param $1 v128) (result v128) (i8x16.sub_saturate_u (local.get $0) (local.get $1) ) ) - (func $104 (param $0 v128) (param $1 v128) (result v128) + (func $105 (param $0 v128) (param $1 v128) (result v128) (i8x16.mul (local.get $0) (local.get $1) ) ) - (func $105 (param $0 v128) (param $1 v128) (result v128) + (func $106 (param $0 v128) (param $1 v128) (result v128) (i8x16.min_s (local.get $0) (local.get $1) ) ) - (func $106 (param $0 v128) (param $1 v128) (result v128) + (func $107 (param $0 v128) (param $1 v128) (result v128) (i8x16.min_u (local.get $0) (local.get $1) ) ) - (func $107 (param $0 v128) (param $1 v128) (result v128) + (func $108 (param $0 v128) (param $1 v128) (result v128) (i8x16.max_s (local.get $0) (local.get $1) ) ) - (func $108 (param $0 v128) (param $1 v128) (result v128) + (func $109 (param $0 v128) (param $1 v128) (result v128) (i8x16.max_u (local.get $0) (local.get $1) ) ) - (func $109 (param $0 v128) (param $1 v128) (result v128) + (func $110 (param $0 v128) (param $1 v128) (result v128) (i8x16.avgr_u (local.get $0) (local.get $1) ) ) - (func $110 (param $0 v128) (result v128) + (func $111 (param $0 v128) (result v128) (i16x8.abs (local.get $0) ) ) - (func $111 (param $0 v128) (result v128) + (func $112 (param $0 v128) (result v128) (i16x8.neg (local.get $0) ) ) - (func $112 (param $0 v128) (result i32) + (func $113 (param $0 v128) (result i32) (i16x8.any_true (local.get $0) ) ) - (func $113 (param $0 v128) (result i32) + (func $114 (param $0 v128) (result i32) (i16x8.all_true (local.get $0) ) ) - (func $114 (param $0 v128) (result i32) + (func $115 (param $0 v128) (result i32) (i16x8.bitmask (local.get $0) ) ) - (func $115 (param $0 v128) (param $1 i32) (result v128) + (func $116 (param $0 v128) (param $1 i32) (result v128) (i16x8.shl (local.get $0) (local.get $1) ) ) - (func $116 (param $0 v128) (param $1 i32) (result v128) + (func $117 (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_s (local.get $0) (local.get $1) ) ) - (func $117 (param $0 v128) (param $1 i32) (result v128) + (func $118 (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_u (local.get $0) (local.get $1) ) ) - (func $118 (param $0 v128) (param $1 v128) (result v128) + (func $119 (param $0 v128) (param $1 v128) (result v128) (i16x8.add (local.get $0) (local.get $1) ) ) - (func $119 (param $0 v128) (param $1 v128) (result v128) + (func $120 (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_s (local.get $0) (local.get $1) ) ) - (func $120 (param $0 v128) (param $1 v128) (result v128) + (func $121 (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_u (local.get $0) (local.get $1) ) ) - (func $121 (param $0 v128) (param $1 v128) (result v128) + (func $122 (param $0 v128) (param $1 v128) (result v128) (i16x8.sub (local.get $0) (local.get $1) ) ) - (func $122 (param $0 v128) (param $1 v128) (result v128) + (func $123 (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_s (local.get $0) (local.get $1) ) ) - (func $123 (param $0 v128) (param $1 v128) (result v128) + (func $124 (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_u (local.get $0) (local.get $1) ) ) - (func $124 (param $0 v128) (param $1 v128) (result v128) + (func $125 (param $0 v128) (param $1 v128) (result v128) (i16x8.mul (local.get $0) (local.get $1) ) ) - (func $125 (param $0 v128) (param $1 v128) (result v128) + (func $126 (param $0 v128) (param $1 v128) (result v128) (i16x8.min_s (local.get $0) (local.get $1) ) ) - (func $126 (param $0 v128) (param $1 v128) (result v128) + (func $127 (param $0 v128) (param $1 v128) (result v128) (i16x8.min_u (local.get $0) (local.get $1) ) ) - (func $127 (param $0 v128) (param $1 v128) (result v128) + (func $128 (param $0 v128) (param $1 v128) (result v128) (i16x8.max_s (local.get $0) (local.get $1) ) ) - (func $128 (param $0 v128) (param $1 v128) (result v128) + (func $129 (param $0 v128) (param $1 v128) (result v128) (i16x8.max_u (local.get $0) (local.get $1) ) ) - (func $129 (param $0 v128) (param $1 v128) (result v128) + (func $130 (param $0 v128) (param $1 v128) (result v128) (i16x8.avgr_u (local.get $0) (local.get $1) ) ) - (func $130 (param $0 v128) (result v128) + (func $131 (param $0 v128) (result v128) (i32x4.abs (local.get $0) ) ) - (func $131 (param $0 v128) (result v128) + (func $132 (param $0 v128) (result v128) (i32x4.neg (local.get $0) ) ) - (func $132 (param $0 v128) (result i32) + (func $133 (param $0 v128) (result i32) (i32x4.any_true (local.get $0) ) ) - (func $133 (param $0 v128) (result i32) + (func $134 (param $0 v128) (result i32) (i32x4.all_true (local.get $0) ) ) - (func $134 (param $0 v128) (result i32) + (func $135 (param $0 v128) (result i32) (i32x4.bitmask (local.get $0) ) ) - (func $135 (param $0 v128) (param $1 i32) (result v128) + (func $136 (param $0 v128) (param $1 i32) (result v128) (i32x4.shl (local.get $0) (local.get $1) ) ) - (func $136 (param $0 v128) (param $1 i32) (result v128) + (func $137 (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_s (local.get $0) (local.get $1) ) ) - (func $137 (param $0 v128) (param $1 i32) (result v128) + (func $138 (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_u (local.get $0) (local.get $1) ) ) - (func $138 (param $0 v128) (param $1 v128) (result v128) + (func $139 (param $0 v128) (param $1 v128) (result v128) (i32x4.add (local.get $0) (local.get $1) ) ) - (func $139 (param $0 v128) (param $1 v128) (result v128) + (func $140 (param $0 v128) (param $1 v128) (result v128) (i32x4.sub (local.get $0) (local.get $1) ) ) - (func $140 (param $0 v128) (param $1 v128) (result v128) + (func $141 (param $0 v128) (param $1 v128) (result v128) (i32x4.mul (local.get $0) (local.get $1) ) ) - (func $141 (param $0 v128) (param $1 v128) (result v128) + (func $142 (param $0 v128) (param $1 v128) (result v128) (i32x4.min_s (local.get $0) (local.get $1) ) ) - (func $142 (param $0 v128) (param $1 v128) (result v128) + (func $143 (param $0 v128) (param $1 v128) (result v128) (i32x4.min_u (local.get $0) (local.get $1) ) ) - (func $143 (param $0 v128) (param $1 v128) (result v128) + (func $144 (param $0 v128) (param $1 v128) (result v128) (i32x4.max_s (local.get $0) (local.get $1) ) ) - (func $144 (param $0 v128) (param $1 v128) (result v128) + (func $145 (param $0 v128) (param $1 v128) (result v128) (i32x4.max_u (local.get $0) (local.get $1) ) ) - (func $145 (param $0 v128) (param $1 v128) (result v128) + (func $146 (param $0 v128) (param $1 v128) (result v128) (i32x4.dot_i16x8_s (local.get $0) (local.get $1) ) ) - (func $146 (param $0 v128) (result v128) + (func $147 (param $0 v128) (result v128) (i64x2.neg (local.get $0) ) ) - (func $147 (param $0 v128) (result i32) + (func $148 (param $0 v128) (result i32) (i64x2.any_true (local.get $0) ) ) - (func $148 (param $0 v128) (result i32) + (func $149 (param $0 v128) (result i32) (i64x2.all_true (local.get $0) ) ) - (func $149 (param $0 v128) (param $1 i32) (result v128) + (func $150 (param $0 v128) (param $1 i32) (result v128) (i64x2.shl (local.get $0) (local.get $1) ) ) - (func $150 (param $0 v128) (param $1 i32) (result v128) + (func $151 (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_s (local.get $0) (local.get $1) ) ) - (func $151 (param $0 v128) (param $1 i32) (result v128) + (func $152 (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_u (local.get $0) (local.get $1) ) ) - (func $152 (param $0 v128) (param $1 v128) (result v128) + (func $153 (param $0 v128) (param $1 v128) (result v128) (i64x2.add (local.get $0) (local.get $1) ) ) - (func $153 (param $0 v128) (param $1 v128) (result v128) + (func $154 (param $0 v128) (param $1 v128) (result v128) (i64x2.sub (local.get $0) (local.get $1) ) ) - (func $154 (param $0 v128) (param $1 v128) (result v128) + (func $155 (param $0 v128) (param $1 v128) (result v128) (i64x2.mul (local.get $0) (local.get $1) ) ) - (func $155 (param $0 v128) (param $1 v128) (result v128) + (func $156 (param $0 v128) (param $1 v128) (result v128) (f32x4.add (local.get $0) (local.get $1) ) ) - (func $156 (param $0 v128) (param $1 v128) (result v128) + (func $157 (param $0 v128) (param $1 v128) (result v128) (f32x4.sub (local.get $0) (local.get $1) ) ) - (func $157 (param $0 v128) (param $1 v128) (result v128) + (func $158 (param $0 v128) (param $1 v128) (result v128) (f32x4.mul (local.get $0) (local.get $1) ) ) - (func $158 (param $0 v128) (param $1 v128) (result v128) + (func $159 (param $0 v128) (param $1 v128) (result v128) (f32x4.div (local.get $0) (local.get $1) ) ) - (func $159 (param $0 v128) (param $1 v128) (result v128) + (func $160 (param $0 v128) (param $1 v128) (result v128) (f32x4.min (local.get $0) (local.get $1) ) ) - (func $160 (param $0 v128) (param $1 v128) (result v128) + (func $161 (param $0 v128) (param $1 v128) (result v128) (f32x4.max (local.get $0) (local.get $1) ) ) - (func $161 (param $0 v128) (param $1 v128) (result v128) + (func $162 (param $0 v128) (param $1 v128) (result v128) (f32x4.pmin (local.get $0) (local.get $1) ) ) - (func $162 (param $0 v128) (param $1 v128) (result v128) + (func $163 (param $0 v128) (param $1 v128) (result v128) (f32x4.pmax (local.get $0) (local.get $1) ) ) - (func $163 (param $0 v128) (result v128) + (func $164 (param $0 v128) (result v128) (f32x4.ceil (local.get $0) ) ) - (func $164 (param $0 v128) (result v128) + (func $165 (param $0 v128) (result v128) (f32x4.floor (local.get $0) ) ) - (func $165 (param $0 v128) (result v128) + (func $166 (param $0 v128) (result v128) (f32x4.trunc (local.get $0) ) ) - (func $166 (param $0 v128) (result v128) + (func $167 (param $0 v128) (result v128) (f32x4.nearest (local.get $0) ) ) - (func $167 (param $0 v128) (result v128) + (func $168 (param $0 v128) (result v128) (f32x4.abs (local.get $0) ) ) - (func $168 (param $0 v128) (result v128) + (func $169 (param $0 v128) (result v128) (f32x4.neg (local.get $0) ) ) - (func $169 (param $0 v128) (result v128) + (func $170 (param $0 v128) (result v128) (f32x4.sqrt (local.get $0) ) ) - (func $170 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $171 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $171 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $172 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $172 (param $0 v128) (param $1 v128) (result v128) + (func $173 (param $0 v128) (param $1 v128) (result v128) (f64x2.add (local.get $0) (local.get $1) ) ) - (func $173 (param $0 v128) (param $1 v128) (result v128) + (func $174 (param $0 v128) (param $1 v128) (result v128) (f64x2.sub (local.get $0) (local.get $1) ) ) - (func $174 (param $0 v128) (param $1 v128) (result v128) + (func $175 (param $0 v128) (param $1 v128) (result v128) (f64x2.mul (local.get $0) (local.get $1) ) ) - (func $175 (param $0 v128) (param $1 v128) (result v128) + (func $176 (param $0 v128) (param $1 v128) (result v128) (f64x2.div (local.get $0) (local.get $1) ) ) - (func $176 (param $0 v128) (param $1 v128) (result v128) + (func $177 (param $0 v128) (param $1 v128) (result v128) (f64x2.min (local.get $0) (local.get $1) ) ) - (func $177 (param $0 v128) (param $1 v128) (result v128) + (func $178 (param $0 v128) (param $1 v128) (result v128) (f64x2.max (local.get $0) (local.get $1) ) ) - (func $178 (param $0 v128) (param $1 v128) (result v128) + (func $179 (param $0 v128) (param $1 v128) (result v128) (f64x2.pmin (local.get $0) (local.get $1) ) ) - (func $179 (param $0 v128) (param $1 v128) (result v128) + (func $180 (param $0 v128) (param $1 v128) (result v128) (f64x2.pmax (local.get $0) (local.get $1) ) ) - (func $180 (param $0 v128) (result v128) + (func $181 (param $0 v128) (result v128) (f64x2.ceil (local.get $0) ) ) - (func $181 (param $0 v128) (result v128) + (func $182 (param $0 v128) (result v128) (f64x2.floor (local.get $0) ) ) - (func $182 (param $0 v128) (result v128) + (func $183 (param $0 v128) (result v128) (f64x2.trunc (local.get $0) ) ) - (func $183 (param $0 v128) (result v128) + (func $184 (param $0 v128) (result v128) (f64x2.nearest (local.get $0) ) ) - (func $184 (param $0 v128) (result v128) + (func $185 (param $0 v128) (result v128) (f64x2.abs (local.get $0) ) ) - (func $185 (param $0 v128) (result v128) + (func $186 (param $0 v128) (result v128) (f64x2.neg (local.get $0) ) ) - (func $186 (param $0 v128) (result v128) + (func $187 (param $0 v128) (result v128) (f64x2.sqrt (local.get $0) ) ) - (func $187 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $188 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $188 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $189 (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $189 (param $0 v128) (result v128) + (func $190 (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_s (local.get $0) ) ) - (func $190 (param $0 v128) (result v128) + (func $191 (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_u (local.get $0) ) ) - (func $191 (param $0 v128) (result v128) + (func $192 (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_s (local.get $0) ) ) - (func $192 (param $0 v128) (result v128) + (func $193 (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_u (local.get $0) ) ) - (func $193 (param $0 v128) (result v128) + (func $194 (param $0 v128) (result v128) (f32x4.convert_i32x4_s (local.get $0) ) ) - (func $194 (param $0 v128) (result v128) + (func $195 (param $0 v128) (result v128) (f32x4.convert_i32x4_u (local.get $0) ) ) - (func $195 (param $0 v128) (result v128) + (func $196 (param $0 v128) (result v128) (f64x2.convert_i64x2_s (local.get $0) ) ) - (func $196 (param $0 v128) (result v128) + (func $197 (param $0 v128) (result v128) (f64x2.convert_i64x2_u (local.get $0) ) ) - (func $197 (param $0 i32) (result v128) + (func $198 (param $0 i32) (result v128) (v8x16.load_splat (local.get $0) ) ) - (func $198 (param $0 i32) (result v128) + (func $199 (param $0 i32) (result v128) (v16x8.load_splat (local.get $0) ) ) - (func $199 (param $0 i32) (result v128) + (func $200 (param $0 i32) (result v128) (v32x4.load_splat (local.get $0) ) ) - (func $200 (param $0 i32) (result v128) + (func $201 (param $0 i32) (result v128) (v64x2.load_splat (local.get $0) ) ) - (func $201 (param $0 v128) (param $1 v128) (result v128) + (func $202 (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_s (local.get $0) (local.get $1) ) ) - (func $202 (param $0 v128) (param $1 v128) (result v128) + (func $203 (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_u (local.get $0) (local.get $1) ) ) - (func $203 (param $0 v128) (param $1 v128) (result v128) + (func $204 (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_s (local.get $0) (local.get $1) ) ) - (func $204 (param $0 v128) (param $1 v128) (result v128) + (func $205 (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_u (local.get $0) (local.get $1) ) ) - (func $205 (param $0 v128) (result v128) + (func $206 (param $0 v128) (result v128) (i16x8.widen_low_i8x16_s (local.get $0) ) ) - (func $206 (param $0 v128) (result v128) + (func $207 (param $0 v128) (result v128) (i16x8.widen_high_i8x16_s (local.get $0) ) ) - (func $207 (param $0 v128) (result v128) + (func $208 (param $0 v128) (result v128) (i16x8.widen_low_i8x16_u (local.get $0) ) ) - (func $208 (param $0 v128) (result v128) + (func $209 (param $0 v128) (result v128) (i16x8.widen_high_i8x16_u (local.get $0) ) ) - (func $209 (param $0 v128) (result v128) + (func $210 (param $0 v128) (result v128) (i32x4.widen_low_i16x8_s (local.get $0) ) ) - (func $210 (param $0 v128) (result v128) + (func $211 (param $0 v128) (result v128) (i32x4.widen_high_i16x8_s (local.get $0) ) ) - (func $211 (param $0 v128) (result v128) + (func $212 (param $0 v128) (result v128) (i32x4.widen_low_i16x8_u (local.get $0) ) ) - (func $212 (param $0 v128) (result v128) + (func $213 (param $0 v128) (result v128) (i32x4.widen_high_i16x8_u (local.get $0) ) ) - (func $213 (param $0 i32) (result v128) + (func $214 (param $0 i32) (result v128) (i16x8.load8x8_u (local.get $0) ) ) - (func $214 (param $0 i32) (result v128) + (func $215 (param $0 i32) (result v128) (i16x8.load8x8_s (local.get $0) ) ) - (func $215 (param $0 i32) (result v128) + (func $216 (param $0 i32) (result v128) (i32x4.load16x4_s (local.get $0) ) ) - (func $216 (param $0 i32) (result v128) + (func $217 (param $0 i32) (result v128) (i32x4.load16x4_u (local.get $0) ) ) - (func $217 (param $0 i32) (result v128) + (func $218 (param $0 i32) (result v128) (i64x2.load32x2_s (local.get $0) ) ) - (func $218 (param $0 i32) (result v128) + (func $219 (param $0 i32) (result v128) (i64x2.load32x2_u (local.get $0) ) ) - (func $219 (param $0 i32) (result v128) + (func $220 (param $0 i32) (result v128) (v128.load32_zero (local.get $0) ) ) - (func $220 (param $0 i32) (result v128) + (func $221 (param $0 i32) (result v128) (v128.load64_zero (local.get $0) ) ) - (func $221 (param $0 v128) (param $1 v128) (result v128) + (func $222 (param $0 v128) (param $1 v128) (result v128) (v8x16.swizzle (local.get $0) (local.get $1) diff --git a/test/spec/simd.wast b/test/spec/simd.wast index 1d3f1b835..b08a2db26 100644 --- a/test/spec/simd.wast +++ b/test/spec/simd.wast @@ -112,6 +112,7 @@ (func (export "v128.store16_lane") (param $0 i32) (param $1 v128) (v128.store16_lane 0 (local.get $0) (local.get $1))) (func (export "v128.store32_lane") (param $0 i32) (param $1 v128) (v128.store32_lane 0 (local.get $0) (local.get $1))) (func (export "v128.store64_lane") (param $0 i32) (param $1 v128) (v128.store64_lane 0 (local.get $0) (local.get $1))) + (func (export "i8x16.popcnt") (param $0 v128) (result v128) (i8x16.popcnt (local.get $0))) (func (export "i8x16.abs") (param $0 v128) (result v128) (i8x16.abs (local.get $0))) (func (export "i8x16.neg") (param $0 v128) (result v128) (i8x16.neg (local.get $0))) (func (export "i8x16.any_true") (param $0 v128) (result i32) (i8x16.any_true (local.get $0))) @@ -570,6 +571,9 @@ (assert_return (invoke "v128.load" (i32.const 1024)) (v128.const i32x4 0x04030201 0x08070605 0x00000000 0x00000000)) ;; i8x16 arithmetic +(assert_return (invoke "i8x16.popcnt" (v128.const i8x16 0 1 42 -3 -56 127 -128 -126 0 -1 -42 3 56 -127 -128 126)) + (v128.const i8x16 0 1 3 7 3 7 1 2 0 8 5 2 3 2 1 6) +) (assert_return (invoke "i8x16.abs" (v128.const i8x16 0 1 42 -3 -56 127 -128 -126 0 -1 -42 3 56 -127 -128 126)) (v128.const i8x16 0 1 42 3 56 127 -128 126 0 1 42 3 56 127 -128 126) ) |