Move simd.IS_EMULATED to runtime.SIMD_IS_EMULATED

This commit is contained in:
Feoramund
2025-05-29 15:11:12 -04:00
parent b5bc0fdcda
commit 827a6f9045
2 changed files with 7 additions and 5 deletions
+2 -5
View File
@@ -21,6 +21,7 @@ package simd
import "base:builtin"
import "base:intrinsics"
import "base:runtime"
/*
Check if SIMD is software-emulated on a target platform.
@@ -30,11 +31,7 @@ at 128-bit (or wider) SIMD. If the compile-time target lacks the hardware suppor
for 128-bit SIMD, this value is `true`, and all SIMD operations will likely be
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 :: runtime.SIMD_IS_EMULATED
/*
Vector of 16 `u8` lanes (128 bits).