From 63d6c08d9035fb3b344dc17b7667b24928a1edf7 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 25 May 2022 22:09:38 +0100 Subject: [PATCH] Add `raw_simd_data` --- core/mem/raw.odin | 1 + core/runtime/core_builtin.odin | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/core/mem/raw.odin b/core/mem/raw.odin index 0a0780dfd..2bce2d7aa 100644 --- a/core/mem/raw.odin +++ b/core/mem/raw.odin @@ -21,6 +21,7 @@ make_any :: proc "contextless" (data: rawptr, id: typeid) -> any { } raw_array_data :: runtime.raw_array_data +raw_simd_data :: runtime.raw_simd_data raw_string_data :: runtime.raw_string_data raw_slice_data :: runtime.raw_slice_data raw_dynamic_array_data :: runtime.raw_dynamic_array_data diff --git a/core/runtime/core_builtin.odin b/core/runtime/core_builtin.odin index 4ddc3928a..7cb5287c0 100644 --- a/core/runtime/core_builtin.odin +++ b/core/runtime/core_builtin.odin @@ -604,6 +604,10 @@ raw_array_data :: proc "contextless" (a: $P/^($T/[$N]$E)) -> [^]E { return ([^]E)(a) } @builtin +raw_simd_data :: proc "contextless" (a: $P/^($T/#simd[$N]$E)) -> [^]E { + return ([^]E)(a) +} +@builtin raw_slice_data :: proc "contextless" (s: $S/[]$E) -> [^]E { ptr := (transmute(Raw_Slice)s).data return ([^]E)(ptr) @@ -619,7 +623,7 @@ raw_string_data :: proc "contextless" (s: $S/string) -> [^]u8 { } @builtin -raw_data :: proc{raw_array_data, raw_slice_data, raw_dynamic_array_data, raw_string_data} +raw_data :: proc{raw_array_data, raw_slice_data, raw_dynamic_array_data, raw_string_data, raw_simd_data}