aboutsummaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorBarinzaya <barinzaya@gmail.com>2024-10-15 18:13:35 -0400
committerBarinzaya <barinzaya@gmail.com>2025-02-24 08:39:32 -0500
commit33a3aab7914fbed9abb0abfa696590ae25d03f4f (patch)
tree3e8289d7e8a209c7bcd5c15e20df40a4a53f5983 /base
parentd23453811d3b8f5518845b412b9044a5bb5e92fb (diff)
Added simd_extract_msbs intrinsic.
Diffstat (limited to 'base')
-rw-r--r--base/intrinsics/intrinsics.odin2
1 files changed, 2 insertions, 0 deletions
diff --git a/base/intrinsics/intrinsics.odin b/base/intrinsics/intrinsics.odin
index ee0d357e4..64fc08a30 100644
--- a/base/intrinsics/intrinsics.odin
+++ b/base/intrinsics/intrinsics.odin
@@ -285,6 +285,8 @@ simd_reduce_xor :: proc(a: #simd[N]T) -> T where type_is_integer(T) || t
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_extract_msbs :: proc(a: #simd[N]T) -> bit_set[0..<N] where type_is_integer(T) || 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) ---