This repository was archived by the owner on Dec 22, 2021. It is now read-only.
File tree 3 files changed +19
-1
lines changed
3 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -199,3 +199,6 @@ The `v8x16.shuffle` instruction has 16 bytes after `simdop`.
199
199
| ` v128.andnot ` | ` 0xd8 ` | - |
200
200
| ` i8x16.avgr_u ` | ` 0xd9 ` | |
201
201
| ` i16x8.avgr_u ` | ` 0xda ` | |
202
+ | ` i8x16.abs ` | ` 0xe1 ` | - |
203
+ | ` i16x8.abs ` | ` 0xe2 ` | - |
204
+ | ` i32x4.abs ` | ` 0xe3 ` | - |
Original file line number Diff line number Diff line change 92
92
| ` i8x16.max_s ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
93
93
| ` i8x16.max_u ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
94
94
| ` i8x16.avgr_u ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
95
+ | ` i8x16.abs ` | | | | |
95
96
| ` i16x8.neg ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
96
97
| ` i16x8.any_true ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
97
98
| ` i16x8.all_true ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
110
111
| ` i16x8.max_s ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
111
112
| ` i16x8.max_u ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
112
113
| ` i16x8.avgr_u ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
114
+ | ` i16x8.abs ` | | | | |
113
115
| ` i32x4.neg ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
114
116
| ` i32x4.any_true ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
115
117
| ` i32x4.all_true ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
123
125
| ` i32x4.min_u ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
124
126
| ` i32x4.max_s ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
125
127
| ` i32x4.max_u ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | |
128
+ | ` i32x4.abs ` | | | | |
126
129
| ` i64x2.neg ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
127
130
| ` i64x2.shl ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
128
131
| ` i64x2.shr_s ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
Original file line number Diff line number Diff line change @@ -503,6 +503,18 @@ def S.avgr_u(a, b):
503
503
return S.lanewise_binary(S.RoundingAverage, S.AsUnsigned(a), S.AsUnsigned(b))
504
504
```
505
505
506
+ ### Lane-wise integer absolute value
507
+ * ` i8x16.abs(a: v128) -> v128 `
508
+ * ` i16x8.abs(a: v128) -> v128 `
509
+ * ` i32x4.abs(a: v128) -> v128 `
510
+
511
+ Lane-wise wrapping absolute value.
512
+
513
+ ``` python
514
+ def S.abs(a):
515
+ return S.lanewise_unary(abs , S.AsSigned(a))
516
+ ```
517
+
506
518
## Bit shifts
507
519
508
520
### Left shift by scalar
@@ -791,7 +803,7 @@ def S.neg(a):
791
803
return S.lanewise_unary(ieee.negate, a)
792
804
```
793
805
794
- ### Absolute value
806
+ ### Floating-point absolute value
795
807
* ` f32x4.abs(a: v128) -> v128 `
796
808
* ` f64x2.abs(a: v128) -> v128 `
797
809
You can’t perform that action at this time.
0 commit comments