Skip to content
This repository was archived by the owner on Dec 22, 2021. It is now read-only.

Commit b1b3625

Browse files
committed
i64x2.gt_s, i64x2.lt_s, i64x2.ge_s, and i64x2.le_s instructions
1 parent 2fd21c0 commit b1b3625

File tree

4 files changed

+24
-12
lines changed

4 files changed

+24
-12
lines changed

proposals/simd/BinarySIMD.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,10 @@ For example, `ImmLaneIdx16` is a byte with values in the range 0-15 (inclusive).
225225
| `f32x4.convert_i32x4_u` | `0xfb`| - |
226226
| `v128.load32_zero` | `0xfc`| - |
227227
| `v128.load64_zero` | `0xfd`| - |
228+
| `i64x2.lt_s` | `0x102`| - |
229+
| `i64x2.gt_s` | `0x104`| - |
230+
| `i64x2.le_s` | `0x106`| - |
231+
| `i64x2.ge_s` | `0x108`| - |
228232
| `i16x8.extmul_low_i8x16_s` | `0x110`| - |
229233
| `i16x8.extmul_high_i8x16_s` | `0x111`| - |
230234
| `i16x8.extmul_low_i8x16_u` | `0x112`| - |

proposals/simd/ImplementationStatus.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@
193193
| `f32x4.convert_i32x4_u` | `-msimd128` | :heavy_check_mark: | | | :heavy_check_mark: |
194194
| `v128.load32_zero` | | :heavy_check_mark: | | | :heavy_check_mark: |
195195
| `v128.load64_zero` | | :heavy_check_mark: | | | :heavy_check_mark: |
196+
| `i64x2.lt_s` | | | | | |
197+
| `i64x2.gt_s` | | | | | |
198+
| `i64x2.le_s` | | | | | |
199+
| `i64x2.ge_s` | | | | | |
196200
| `i16x8.extmul_low_i8x16_s` | | | | | |
197201
| `i16x8.extmul_high_i8x16_s` | | | | | |
198202
| `i16x8.extmul_low_i8x16_u` | | | | | |

proposals/simd/NewOpcodes.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,18 @@
4747
| f64x2.extract_lane | 0x21 |
4848
| f64x2.replace_lane | 0x22 |
4949

50-
| i8x16 Cmp | opcode | i16x8 Cmp | opcode | i32x4 Cmp | opcode |
51-
| ---------- | ------ | ---------- | ------ | ---------- | ------ |
52-
| i8x16.eq | 0x23 | i16x8.eq | 0x2d | i32x4.eq | 0x37 |
53-
| i8x16.ne | 0x24 | i16x8.ne | 0x2e | i32x4.ne | 0x38 |
54-
| i8x16.lt_s | 0x25 | i16x8.lt_s | 0x2f | i32x4.lt_s | 0x39 |
55-
| i8x16.lt_u | 0x26 | i16x8.lt_u | 0x30 | i32x4.lt_u | 0x3a |
56-
| i8x16.gt_s | 0x27 | i16x8.gt_s | 0x31 | i32x4.gt_s | 0x3b |
57-
| i8x16.gt_u | 0x28 | i16x8.gt_u | 0x32 | i32x4.gt_u | 0x3c |
58-
| i8x16.le_s | 0x29 | i16x8.le_s | 0x33 | i32x4.le_s | 0x3d |
59-
| i8x16.le_u | 0x2a | i16x8.le_u | 0x34 | i32x4.le_u | 0x3e |
60-
| i8x16.ge_s | 0x2b | i16x8.ge_s | 0x35 | i32x4.ge_s | 0x3f |
61-
| i8x16.ge_u | 0x2c | i16x8.ge_u | 0x36 | i32x4.ge_u | 0x40 |
50+
| i8x16 Cmp | opcode | i16x8 Cmp | opcode | i32x4 Cmp | opcode | i64x2 Cmp | opcode |
51+
| ---------- | ------ | ---------- | ------ | ---------- | ------ | ---------- | ------ |
52+
| i8x16.eq | 0x23 | i16x8.eq | 0x2d | i32x4.eq | 0x37 | --- eq --- | 0x100 |
53+
| i8x16.ne | 0x24 | i16x8.ne | 0x2e | i32x4.ne | 0x38 | --- ne --- | 0x101 |
54+
| i8x16.lt_s | 0x25 | i16x8.lt_s | 0x2f | i32x4.lt_s | 0x39 | i64x2.lt_s | 0x102 |
55+
| i8x16.lt_u | 0x26 | i16x8.lt_u | 0x30 | i32x4.lt_u | 0x3a | -- lt_u -- | 0x103 |
56+
| i8x16.gt_s | 0x27 | i16x8.gt_s | 0x31 | i32x4.gt_s | 0x3b | i64x2.gt_s | 0x104 |
57+
| i8x16.gt_u | 0x28 | i16x8.gt_u | 0x32 | i32x4.gt_u | 0x3c | -- gt_u -- | 0x105 |
58+
| i8x16.le_s | 0x29 | i16x8.le_s | 0x33 | i32x4.le_s | 0x3d | i64x2.le_s | 0x106 |
59+
| i8x16.le_u | 0x2a | i16x8.le_u | 0x34 | i32x4.le_u | 0x3e | -- le_u -- | 0x107 |
60+
| i8x16.ge_s | 0x2b | i16x8.ge_s | 0x35 | i32x4.ge_s | 0x3f | i64x2.ge_s | 0x108 |
61+
| i8x16.ge_u | 0x2c | i16x8.ge_u | 0x36 | i32x4.ge_u | 0x40 | -- ge_u -- | 0x109 |
6262

6363
| f32x4 Cmp | opcode | f64x2 Cmp | opcode |
6464
| --------- | ------ | --------- | ------ |

proposals/simd/SIMD.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,7 @@ def S.ne(a, b):
750750
* `i16x8.lt_u(a: v128, b: v128) -> v128`
751751
* `i32x4.lt_s(a: v128, b: v128) -> v128`
752752
* `i32x4.lt_u(a: v128, b: v128) -> v128`
753+
* `i64x2.lt_s(a: v128, b: v128) -> v128`
753754
* `f32x4.lt(a: v128, b: v128) -> v128`
754755
* `f64x2.lt(a: v128, b: v128) -> v128`
755756

@@ -760,6 +761,7 @@ def S.ne(a, b):
760761
* `i16x8.le_u(a: v128, b: v128) -> v128`
761762
* `i32x4.le_s(a: v128, b: v128) -> v128`
762763
* `i32x4.le_u(a: v128, b: v128) -> v128`
764+
* `i64x2.le_s(a: v128, b: v128) -> v128`
763765
* `f32x4.le(a: v128, b: v128) -> v128`
764766
* `f64x2.le(a: v128, b: v128) -> v128`
765767

@@ -770,6 +772,7 @@ def S.ne(a, b):
770772
* `i16x8.gt_u(a: v128, b: v128) -> v128`
771773
* `i32x4.gt_s(a: v128, b: v128) -> v128`
772774
* `i32x4.gt_u(a: v128, b: v128) -> v128`
775+
* `i64x2.gt_s(a: v128, b: v128) -> v128`
773776
* `f32x4.gt(a: v128, b: v128) -> v128`
774777
* `f64x2.gt(a: v128, b: v128) -> v128`
775778

@@ -780,6 +783,7 @@ def S.ne(a, b):
780783
* `i16x8.ge_u(a: v128, b: v128) -> v128`
781784
* `i32x4.ge_s(a: v128, b: v128) -> v128`
782785
* `i32x4.ge_u(a: v128, b: v128) -> v128`
786+
* `i64x2.ge_s(a: v128, b: v128) -> v128`
783787
* `f32x4.ge(a: v128, b: v128) -> v128`
784788
* `f64x2.ge(a: v128, b: v128) -> v128`
785789

0 commit comments

Comments
 (0)