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

Commit 1cfd484

Browse files
Maratyszczatlively
andauthored
i32x4.dot_i16x8_s instruction (#127)
* i32x4.dot_i16x8_s instruction * Update proposals/simd/ImplementationStatus.md Co-authored-by: Thomas Lively <[email protected]> Co-authored-by: Thomas Lively <[email protected]>
1 parent b9b54b0 commit 1cfd484

File tree

4 files changed

+9
-2
lines changed

4 files changed

+9
-2
lines changed

proposals/simd/BinarySIMD.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ For example, `ImmLaneIdx16` is a byte with values in the range 0-15 (inclusive).
181181
| `i32x4.min_u` | `0xb7`| - |
182182
| `i32x4.max_s` | `0xb8`| - |
183183
| `i32x4.max_u` | `0xb9`| - |
184+
| `i32x4.dot_i16x8_s` | `0xba`| - |
184185
| `i64x2.neg` | `0xc1`| - |
185186
| `i64x2.shl` | `0xcb`| - |
186187
| `i64x2.shr_s` | `0xcc`| - |

proposals/simd/ImplementationStatus.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@
149149
| `i32x4.min_u` | `-msimd128` | :heavy_check_mark: | | | :heavy_check_mark: |
150150
| `i32x4.max_s` | `-msimd128` | :heavy_check_mark: | | | :heavy_check_mark: |
151151
| `i32x4.max_u` | `-msimd128` | :heavy_check_mark: | | | :heavy_check_mark: |
152+
| `i32x4.dot_i16x8_s` | | | | | |
152153
| `i64x2.neg` | `-msimd128` | :heavy_check_mark: | | | :heavy_check_mark: |
153154
| `i64x2.shl` | `-msimd128` | :heavy_check_mark: | | | :heavy_check_mark: |
154155
| `i64x2.shr_s` | `-msimd128` | :heavy_check_mark: | | | :heavy_check_mark: |

proposals/simd/NewOpcodes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,13 @@
100100
| i8x16.sub | 0x71 | i16x8.sub | 0x91 | i32x4.sub | 0xb1 | i64x2.sub | 0xd1 |
101101
| i8x16.sub_sat_s | 0x72 | i16x8.sub_sat_s | 0x92 | ---- sub_sat ---- | 0xb2 | ---- | 0xd2 |
102102
| i8x16.sub_sat_u | 0x73 | i16x8.sub_sat_u | 0x93 | ---- sub_sat ---- | 0xb3 | ---- | 0xd3 |
103-
| ---- dot ---- | 0x74 | ---- dot ---- | 0x94 | ---- dot ---- | 0xb4 | ---- | 0xd4 |
103+
| ------------- | 0x74 | ------------- | 0x94 | ------------- | 0xb4 | ---- | 0xd4 |
104104
| ---- mul ---- | 0x75 | i16x8.mul | 0x95 | i32x4.mul | 0xb5 | i64x2.mul | 0xd5 |
105105
| i8x16.min_s | 0x76 | i16x8.min_s | 0x96 | i32x4.min_s | 0xb6 | ---- | 0xd6 |
106106
| i8x16.min_u | 0x77 | i16x8.min_u | 0x97 | i32x4.min_u | 0xb7 | ---- | 0xd7 |
107107
| i8x16.max_s | 0x78 | i16x8.max_s | 0x98 | i32x4.max_s | 0xb8 | ---- | 0xd8 |
108108
| i8x16.max_u | 0x79 | i16x8.max_u | 0x99 | i32x4.max_u | 0xb9 | ---- | 0xd9 |
109-
| ---- avgr_s ---- | 0x7a | ---- avgr_s ---- | 0x9a | ---- avgr_s ---- | 0xba | ---- | 0xda |
109+
| ---------------- | 0x7a | ---------------- | 0x9a | i32x4.dot_i16x8_s | 0xba | ---- | 0xda |
110110
| i8x16.avgr_u | 0x7b | i16x8.avgr_u | 0x9b | ---- avgr_u ---- | 0xbb | ---- | 0xdb |
111111

112112
| f32x4 Op | opcode | f64x2 Op | opcode |

proposals/simd/SIMD.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,11 @@ def S.mul(a, b):
395395
return S.lanewise_binary(mul, a, b)
396396
```
397397

398+
### Integer dot product
399+
* `i32x4.dot_i16x8_s(a: v128, b: v128) -> v128`
400+
401+
Lane-wise multiply signed 16-bit integers in the two input vectors and add adjacent pairs of the full 32-bit results.
402+
398403
### Integer negation
399404
* `i8x16.neg(a: v128) -> v128`
400405
* `i16x8.neg(a: v128) -> v128`

0 commit comments

Comments
 (0)