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

Commit 8a1f98c

Browse files
Jakob Stoklund Olesenstoklund
Jakob Stoklund Olesen
authored andcommitted
Keep only a single v8x16.shuffle instruction.
Remove all other swizzle and shuffle instructions since they can be implemented in terms of the general v8x16.shuffle. We can add more compact encodings of popular shuffles later if needed.
1 parent 3390301 commit 8a1f98c

File tree

1 file changed

+0
-19
lines changed

1 file changed

+0
-19
lines changed

proposals/simd/SIMD.md

-19
Original file line numberDiff line numberDiff line change
@@ -208,27 +208,8 @@ def S.replace_lane(a, i, x):
208208
The input lane value, `x`, is interpreted the same way as for the splat
209209
instructions. For the `i8` and `i16` lanes, the high bits of `x` are ignored.
210210

211-
### Swizzle lanes
212-
* `v8x16.swizzle(a: v128, s: LaneIdx16[16]) -> v128`
213-
* `v16x8.swizzle(a: v128, s: LaneIdx8[8]) -> v128`
214-
* `v32x4.swizzle(a: v128, s: LaneIdx4[4]) -> v128`
215-
* `v64x2.swizzle(a: v128, s: LaneIdx2[2]) -> v128`
216-
217-
Create vector with lanes rearranged:
218-
219-
```python
220-
def S.swizzle(a, s):
221-
result = S.New()
222-
for i in range(S.Lanes):
223-
result[i] = a[s[i]]
224-
return result
225-
```
226-
227211
### Shuffle lanes
228212
* `v8x16.shuffle(a: v128, b: v128, s: LaneIdx32[16]) -> v128`
229-
* `v16x8.shuffle(a: v128, b: v128, s: LaneIdx16[8]) -> v128`
230-
* `v32x4.shuffle(a: v128, b: v128, s: LaneIdx8[4]) -> v128`
231-
* `v64x2.shuffle(a: v128, b: v128, s: LaneIdx4[2]) -> v128`
232213

233214
Create vector with lanes selected from the lanes of two input vectors:
234215

0 commit comments

Comments
 (0)