Skip to content

Commit

Permalink
Merge pull request #1 from penzn/extended-load
Browse files Browse the repository at this point in the history
Add extended load definitions to SIMD.md
  • Loading branch information
rrwinterton authored Jul 23, 2019
2 parents f8b5081 + fd955ac commit 9bb4698
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 1 deletion.
6 changes: 5 additions & 1 deletion proposals/simd/BinarySIMD.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,5 +166,9 @@ The `v8x16.shuffle2_imm` instruction has 16 bytes after `simdop`.
| `f32x4.convert_u/i32x4` | `0xb0`| - |
| `f64x2.convert_s/i64x2` | `0xb1`| - |
| `f64x2.convert_u/i64x2` | `0xb2`| - |
| `i8x8.zxload` | `0xb3`| m:memarg |
| `i8x8.sxload` | `0xb4`| m:memarg |
| `i16x4.zxload` | `0xb5`| m:memarg |
| `i16x4.sxload` | `0xb6`| m:memarg |
| `v8x16.shuffle1` | `0xc0`| - |
| `v8x16.shuffle2_imm` | `0xc1`| s:LaneIdx32[16] |
| `v8x16.shuffle2_imm` | `0xc1`| s:LaneIdx32[16] |
4 changes: 4 additions & 0 deletions proposals/simd/ImplementationStatus.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,10 @@
| `f32x4.convert_u/i32x4` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.convert_s/i64x2` | `-munimplemented-simd128` | | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.convert_u/i64x2` | `-munimplemented-simd128` | | :heavy_check_mark: | :heavy_check_mark: |
| `i8x8.zxload` | | | | |
| `i8x8.sxload` | | | | |
| `i16x4.zxload` | | | | |
| `i16x4.sxload` | | | | |
| `v8x16.shuffle1` | | | :heavy_check_mark: | |
| `v8x16.shuffle2_imm` | | | :heavy_check_mark: | :heavy_check_mark: |

Expand Down
7 changes: 7 additions & 0 deletions proposals/simd/SIMD.md
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,13 @@ natural alignment.

Load a `v128` vector from the given heap address.

Extended loads:

* `i8x8.zxload(memarg) -> v128`: load eight 8-bit integers and zero extend each one to a 16-bit lane
* `i8x8.sxload(memarg) -> v128`: load eight 8-bit integers and sign extend each one to a 16-bit lane
* `i16x4.zxload(memarg) -> v128`: load four 16-bit integers and zero extend each one to a 32-bit lane
* `i16x4.sxload(memarg) -> v128`: load four 16-bit integers and sign extend each one to a 32-bit lane

### Store

* `v128.store(memarg, data: v128)`
Expand Down

0 comments on commit 9bb4698

Please sign in to comment.