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

Commit b2f7a4c

Browse files
committed
ANDNOT operation
1 parent 7c2cfdd commit b2f7a4c

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

proposals/simd/BinarySIMD.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,4 @@ The `v8x16.shuffle` instruction has 16 bytes after `simdop`.
189189
| `i32x4.load16x4_u` | `0xd5`| m:memarg |
190190
| `i64x2.load32x2_s` | `0xd6`| m:memarg |
191191
| `i64x2.load32x2_u` | `0xd7`| m:memarg |
192+
| `v128.andnot` | `0xd8`| - |

proposals/simd/ImplementationStatus.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
| `f64x2.ge` | `-munimplemented-simd128` | | :heavy_check_mark: | :heavy_check_mark: |
7272
| `v128.not` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
7373
| `v128.and` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
74+
| `v128.andnot` | | | | |
7475
| `v128.or` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
7576
| `v128.xor` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
7677
| `v128.bitselect` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |

proposals/simd/SIMD.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,12 @@ The logical operations defined on the scalar integer types are also available
521521
on the `v128` type where they operate bitwise the same way C's `&`, `|`, `^`,
522522
and `~` operators work on an `unsigned` type.
523523

524+
### Bitwise AND-NOT
525+
526+
* `v128.andnot(a: v128, b: v128) -> v128`
527+
528+
Bitwise AND of bits of `a` and the logical inverse of bits of `b`. This operation is equivalent to `v128.and(a, v128.not(b))`.
529+
524530
### Bitwise select
525531
* `v128.bitselect(v1: v128, v2: v128, c: v128) -> v128`
526532

0 commit comments

Comments
 (0)