From dd965ae3705170b28e86c29271e6b0bb191d7a85 Mon Sep 17 00:00:00 2001 From: Marat Dukhan Date: Mon, 28 Dec 2020 21:59:06 -0800 Subject: [PATCH 1/3] i64x2.all_true instructions --- proposals/simd/BinarySIMD.md | 1 + proposals/simd/ImplementationStatus.md | 1 + proposals/simd/NewOpcodes.md | 2 +- proposals/simd/SIMD.md | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/proposals/simd/BinarySIMD.md b/proposals/simd/BinarySIMD.md index 57971f165..11f4c3709 100644 --- a/proposals/simd/BinarySIMD.md +++ b/proposals/simd/BinarySIMD.md @@ -180,6 +180,7 @@ For example, `ImmLaneIdx16` is a byte with values in the range 0-15 (inclusive). | `i32x4.max_u` | `0xb9`| - | | `i32x4.dot_i16x8_s` | `0xba`| - | | `i64x2.neg` | `0xc1`| - | +| `i64x2.all_true` | `0xc3`| - | | `i64x2.bitmask` | `0xc4`| - | | `i64x2.widen_low_i32x4_s` | `0xc7`| - | | `i64x2.widen_high_i32x4_s` | `0xc8`| - | diff --git a/proposals/simd/ImplementationStatus.md b/proposals/simd/ImplementationStatus.md index a2b18c992..ccd1f88cf 100644 --- a/proposals/simd/ImplementationStatus.md +++ b/proposals/simd/ImplementationStatus.md @@ -149,6 +149,7 @@ | `i32x4.max_u` | `-msimd128` | :heavy_check_mark: | | | :heavy_check_mark: | | `i32x4.dot_i16x8_s` | | :heavy_check_mark: | | | :heavy_check_mark: | | `i64x2.neg` | `-msimd128` | :heavy_check_mark: | | :heavy_check_mark: | :heavy_check_mark: | +| `i64x2.all_true` | | | | | | | `i64x2.bitmask` | | :heavy_check_mark: | | | | | `i64x2.shl` | `-msimd128` | :heavy_check_mark: | | :heavy_check_mark: | :heavy_check_mark: | | `i64x2.shr_s` | `-msimd128` | :heavy_check_mark: | | :heavy_check_mark: | :heavy_check_mark: | diff --git a/proposals/simd/NewOpcodes.md b/proposals/simd/NewOpcodes.md index 8241be0f8..1f54d8e81 100644 --- a/proposals/simd/NewOpcodes.md +++ b/proposals/simd/NewOpcodes.md @@ -83,7 +83,7 @@ | i8x16.abs | 0x60 | i16x8.abs | 0x80 | i32x4.abs | 0xa0 | ------------- | 0xc0 | | i8x16.neg | 0x61 | i16x8.neg | 0x81 | i32x4.neg | 0xa1 | i64x2.neg | 0xc1 | | ------------- | 0x62 | ------------- | 0x82 | ------------- | 0xa2 | ------------- | 0xc2 | -| i8x16.all_true | 0x63 | i16x8.all_true | 0x83 | i32x4.all_true | 0xa3 | ------------- | 0xc3 | +| i8x16.all_true | 0x63 | i16x8.all_true | 0x83 | i32x4.all_true | 0xa3 | i64x2.all_true | 0xc3 | | i8x16.bitmask | 0x64 | i16x8.bitmask | 0x84 | i32x4.bitmask | 0xa4 | i64x2.bitmask | 0xc4 | | i8x16.narrow_i16x8_s | 0x65 | i16x8.narrow_i32x4_s | 0x85 | ---- narrow ---- | 0xa5 | ------------- | 0xc5 | | i8x16.narrow_i16x8_u | 0x66 | i16x8.narrow_i32x4_u | 0x86 | ---- narrow ---- | 0xa6 | ------------- | 0xc6 | diff --git a/proposals/simd/SIMD.md b/proposals/simd/SIMD.md index 24db53eb1..92b2668ef 100644 --- a/proposals/simd/SIMD.md +++ b/proposals/simd/SIMD.md @@ -677,6 +677,7 @@ These functions return 1 if any bit in `a` is non-zero, 0 otherwise. * `i8x16.all_true(a: v128) -> i32` * `i16x8.all_true(a: v128) -> i32` * `i32x4.all_true(a: v128) -> i32` +* `i64x2.all_true(a: v128) -> i32` These functions return 1 if all lanes in `a` are non-zero, 0 otherwise. From 3e2dcec63911dd21171557a790ee50b2a4583012 Mon Sep 17 00:00:00 2001 From: Thomas Lively <7121787+tlively@users.noreply.github.com> Date: Fri, 29 Jan 2021 19:04:08 -0800 Subject: [PATCH 2/3] Update BinarySIMD.md --- proposals/simd/BinarySIMD.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/simd/BinarySIMD.md b/proposals/simd/BinarySIMD.md index 11f4c3709..4e0d27e3d 100644 --- a/proposals/simd/BinarySIMD.md +++ b/proposals/simd/BinarySIMD.md @@ -180,7 +180,6 @@ For example, `ImmLaneIdx16` is a byte with values in the range 0-15 (inclusive). | `i32x4.max_u` | `0xb9`| - | | `i32x4.dot_i16x8_s` | `0xba`| - | | `i64x2.neg` | `0xc1`| - | -| `i64x2.all_true` | `0xc3`| - | | `i64x2.bitmask` | `0xc4`| - | | `i64x2.widen_low_i32x4_s` | `0xc7`| - | | `i64x2.widen_high_i32x4_s` | `0xc8`| - | @@ -250,3 +249,4 @@ For example, `ImmLaneIdx16` is a byte with values in the range 0-15 (inclusive). | `v128.store16_lane` | `TBD`| m:memarg, i:ImmLaneIdx8 | | `v128.store32_lane` | `TBD`| m:memarg, i:ImmLaneIdx4 | | `v128.store64_lane` | `TBD`| m:memarg, i:ImmLaneIdx2 | +| `i64x2.all_true` | `TBD`| - | From 855749181838409c74ee72397cb80d9809c4b55f Mon Sep 17 00:00:00 2001 From: Thomas Lively <7121787+tlively@users.noreply.github.com> Date: Fri, 29 Jan 2021 19:06:15 -0800 Subject: [PATCH 3/3] Update NewOpcodes.md --- proposals/simd/NewOpcodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/simd/NewOpcodes.md b/proposals/simd/NewOpcodes.md index 1f54d8e81..81f21e69f 100644 --- a/proposals/simd/NewOpcodes.md +++ b/proposals/simd/NewOpcodes.md @@ -83,7 +83,7 @@ | i8x16.abs | 0x60 | i16x8.abs | 0x80 | i32x4.abs | 0xa0 | ------------- | 0xc0 | | i8x16.neg | 0x61 | i16x8.neg | 0x81 | i32x4.neg | 0xa1 | i64x2.neg | 0xc1 | | ------------- | 0x62 | ------------- | 0x82 | ------------- | 0xa2 | ------------- | 0xc2 | -| i8x16.all_true | 0x63 | i16x8.all_true | 0x83 | i32x4.all_true | 0xa3 | i64x2.all_true | 0xc3 | +| i8x16.all_true | 0x63 | i16x8.all_true | 0x83 | i32x4.all_true | 0xa3 | (i64x2.all_true) [TBD] | 0xc3 | | i8x16.bitmask | 0x64 | i16x8.bitmask | 0x84 | i32x4.bitmask | 0xa4 | i64x2.bitmask | 0xc4 | | i8x16.narrow_i16x8_s | 0x65 | i16x8.narrow_i32x4_s | 0x85 | ---- narrow ---- | 0xa5 | ------------- | 0xc5 | | i8x16.narrow_i16x8_u | 0x66 | i16x8.narrow_i32x4_u | 0x86 | ---- narrow ---- | 0xa6 | ------------- | 0xc6 |