diff options
| author | gingerBill <bill@gingerbill.org> | 2024-08-05 13:46:24 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2024-08-05 13:46:24 +0100 |
| commit | 7e701d1677fbe594e0970824062d8b3564d33d26 (patch) | |
| tree | 27c2370d163b96f00021d35be1395af7a579cb29 /base | |
| parent | b67ed78afdbe9a9b3330f07d4d55ca7604ec930e (diff) | |
Add `intrinsics.simd_gather` and ``intrinsics.simd_scatter`
Diffstat (limited to 'base')
| -rw-r--r-- | base/intrinsics/intrinsics.odin | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/base/intrinsics/intrinsics.odin b/base/intrinsics/intrinsics.odin index fadbda3fb..5566c8c6c 100644 --- a/base/intrinsics/intrinsics.odin +++ b/base/intrinsics/intrinsics.odin @@ -283,6 +283,10 @@ simd_reduce_any :: proc(a: #simd[N]T) -> T where type_is_boolean(T) --- simd_reduce_all :: proc(a: #simd[N]T) -> T where type_is_boolean(T) --- +simd_gather :: proc(ptr: #simd[N]rawptr, val: #simd[N]T, mask: #simd[N]U) -> #simd[N]T where type_is_integer(U) || type_is_boolean(U) --- +simd_scatter :: proc(ptr: #simd[N]rawptr, val: #simd[N]T, mask: #simd[N]U) where type_is_integer(U) || type_is_boolean(U) --- + + simd_shuffle :: proc(a, b: #simd[N]T, indices: ..int) -> #simd[len(indices)]T --- simd_select :: proc(cond: #simd[N]boolean_or_integer, true, false: #simd[N]T) -> #simd[N]T --- |