Add simd_rotate_left simd_rotate_right`

This commit is contained in:
gingerBill
2022-05-26 11:48:04 +01:00
parent 35502816c7
commit e331b0647e
5 changed files with 69 additions and 0 deletions
+4
View File
@@ -252,6 +252,10 @@ simd_nearest :: proc(a: #simd[N]any_float) -> #simd[N]any_float ---
// equivalent a swizzle with descending indices, e.g. reserve(a, 3, 2, 1, 0)
simd_reverse :: proc(a: #simd[N]T) -> #simd[N]T ---
simd_rotate_left :: proc(a: #simd[N]T, $offset: int) -> #simd[N]T ---
simd_rotate_right :: proc(a: #simd[N]T, $offset: int) -> #simd[N]T ---
// WASM targets only
wasm_memory_grow :: proc(index, delta: uintptr) -> int ---
wasm_memory_size :: proc(index: uintptr) -> int ---
+3
View File
@@ -96,6 +96,9 @@ nearest :: intrinsics.simd_nearest
reverse :: intrinsics.simd_reverse
rotate_left :: intrinsics.simd_rotate_left
rotate_right :: intrinsics.simd_rotate_right
splat :: #force_inline proc "contextless" ($T: typeid/#simd[$LANES]$E, value: E) -> T {
return T{0..<LANES = value}
}