package core:simd
⌘K
Ctrl+K
or
/
Index
Constants (1)
Variables (0)
This section is empty.
Procedures (69)
- abs
- add
- bit_and
- bit_and_not
- bit_not
- bit_or
- bit_xor
- ceil
- clamp
- copysign
- count_leading_zeros
- count_ones
- count_trailing_zeros
- count_zeros
- div
- extract
- floor
- fma
- from_array
- from_slice
- fused_mul_add
- gather
- lanes_eq
- lanes_ge
- lanes_gt
- lanes_le
- lanes_lt
- lanes_ne
- lanes_reverse
- lanes_rotate_left
- lanes_rotate_right
- masked_compress_store
- masked_expand_load
- masked_load
- masked_store
- max
- min
- mul
- nearest
- neg
- recip
- reduce_add_ordered
- reduce_all
- reduce_and
- reduce_any
- reduce_max
- reduce_min
- reduce_mul_ordered
- reduce_or
- reduce_xor
- replace
- reverse_bits
- saturating_add
- saturating_sub
- scatter
- select
- shl
- shl_masked
- shr
- shr_masked
- shuffle
- signum
- sqrt
- sub
- swizzle
- to_array
- to_array_ptr
- to_bits
- trunc
Procedure Groups (0)
This section is empty.
Types
Constants
IS_EMULATED ¶
IS_EMULATED :: true when (ODIN_ARCH == .amd64 || ODIN_ARCH == .i386) && !intrinsics.has_target_feature("sse2") else true when (ODIN_ARCH == .arm64 || ODIN_ARCH == .arm32) && !intrinsics.has_target_feature("neon") else true when (ODIN_ARCH == .wasm64p32 || ODIN_ARCH == .wasm32) && !intrinsics.has_target_feature("simd128") else true when (ODIN_ARCH == .riscv64) && !intrinsics.has_target_feature("v") else false
IS_EMULATED is true iff the compile-time target lacks hardware support for at least 128-bit SIMD.
Variables
This section is empty.
Procedures
abs ¶
abs :: intrinsics.simd_abs
add ¶
add :: intrinsics.simd_add
bit_and ¶
bit_and :: intrinsics.simd_bit_and
bit_and_not ¶
bit_and_not :: intrinsics.simd_bit_and_not
bit_or ¶
bit_or :: intrinsics.simd_bit_or
bit_xor ¶
bit_xor :: intrinsics.simd_bit_xor
ceil ¶
ceil :: intrinsics.simd_ceil
clamp ¶
clamp :: intrinsics.simd_clamp
copysign ¶
copysign :: proc "contextless" (v, sign: $/#simd[0]$T) -> $/#simd[0]$T {…}
count_leading_zeros ¶
count_leading_zeros :: intrinsics.count_leading_zeros
count_ones ¶
count_ones :: intrinsics.count_ones
count_trailing_zeros ¶
count_trailing_zeros :: intrinsics.count_trailing_zeros
count_zeros ¶
count_zeros :: intrinsics.count_zeros
floor ¶
floor :: intrinsics.simd_floor
fma ¶
fma :: intrinsics.fused_mul_add
from_array ¶
from_array :: proc "contextless" (v: $T/[0]$T) -> #simd[0]$T {…}
from_slice ¶
from_slice :: proc($T: typeid/#simd[0]T, slice: []T) -> $/#simd[0]T {…}
fused_mul_add ¶
fused_mul_add :: intrinsics.fused_mul_add
lanes_eq ¶
lanes_eq :: intrinsics.simd_lanes_eq
Return an unsigned integer of the same size as the input type NOT A BOOLEAN element-wise: false => 0x00...00 true => 0xff...ff
lanes_ge ¶
lanes_ge :: intrinsics.simd_lanes_ge
lanes_gt ¶
lanes_gt :: intrinsics.simd_lanes_gt
lanes_le ¶
lanes_le :: intrinsics.simd_lanes_le
lanes_lt ¶
lanes_lt :: intrinsics.simd_lanes_lt
lanes_ne ¶
lanes_ne :: intrinsics.simd_lanes_ne
lanes_reverse ¶
lanes_reverse :: intrinsics.simd_lanes_reverse
lanes_rotate_left ¶
lanes_rotate_left :: intrinsics.simd_lanes_rotate_left
lanes_rotate_right ¶
lanes_rotate_right :: intrinsics.simd_lanes_rotate_right
masked_compress_store ¶
masked_compress_store :: intrinsics.simd_masked_compress_store
masked_expand_load ¶
masked_expand_load :: intrinsics.simd_masked_expand_load
masked_load ¶
masked_load :: intrinsics.simd_masked_load
masked_store ¶
masked_store :: intrinsics.simd_masked_store
max ¶
max :: intrinsics.simd_max
min ¶
min :: intrinsics.simd_min
mul ¶
mul :: intrinsics.simd_mul
nearest ¶
nearest :: intrinsics.simd_nearest
neg ¶
neg :: intrinsics.simd_neg
reduce_add_ordered ¶
reduce_add_ordered :: intrinsics.simd_reduce_add_ordered
reduce_all ¶
reduce_all :: intrinsics.simd_reduce_all
reduce_and ¶
reduce_and :: intrinsics.simd_reduce_and
reduce_any ¶
reduce_any :: intrinsics.simd_reduce_any
reduce_max ¶
reduce_max :: intrinsics.simd_reduce_max
reduce_min ¶
reduce_min :: intrinsics.simd_reduce_min
reduce_mul_ordered ¶
reduce_mul_ordered :: intrinsics.simd_reduce_mul_ordered
reduce_or ¶
reduce_or :: intrinsics.simd_reduce_or
reduce_xor ¶
reduce_xor :: intrinsics.simd_reduce_xor
replace ¶
replace :: intrinsics.simd_replace
replace :: proc(a: #simd[N]T, idx: uint, elem: T) -> #simd[N]T
reverse_bits ¶
reverse_bits :: intrinsics.reverse_bits
saturating_sub ¶
saturating_sub :: intrinsics.simd_saturating_sub
scatter ¶
scatter :: intrinsics.simd_scatter
select ¶
select :: intrinsics.simd_select
select :: proc(cond: #simd[N]boolean_or_integer, true, false: #simd[N]T) -> #simd[N]T
shr ¶
shr :: intrinsics.simd_shr
shr_masked ¶
shr_masked :: intrinsics.simd_shr_masked
shuffle ¶
shuffle :: intrinsics.simd_shuffle
shuffle :: proc(a, b: #simd[N]T, indices: #simd[max 2*N]u32) -> #simd[len(indices)]T
sqrt ¶
sqrt :: intrinsics.sqrt
sub ¶
sub :: intrinsics.simd_sub
swizzle ¶
swizzle :: builtin.swizzle
swizzle :: proc(a: #simd[N]T, indices: ..int) -> #simd[len(indices)]T
to_array ¶
to_array :: proc "contextless" (v: #simd[0]$T) -> [0]$T {…}
to_array_ptr ¶
to_array_ptr :: proc "contextless" (v: ^#simd[0]$T) -> ^[0]$T {…}
to_bits ¶
to_bits :: intrinsics.simd_to_bits
trunc ¶
trunc :: intrinsics.simd_trunc
Procedure Groups
This section is empty.
Source Files
Generation Information
Generated with odin version dev-2024-11 (vendor "odin") Windows_amd64 @ 2024-11-16 21:10:10.075837000 +0000 UTC