aboutsummaryrefslogtreecommitdiff
path: root/core/sys/info/cpu_intel.odin
diff options
context:
space:
mode:
authorYawning Angel <yawning@schwanenlied.me>2024-11-02 11:35:17 +0900
committerYawning Angel <yawning@schwanenlied.me>2025-03-23 19:14:33 +0900
commit982ab11aa1fa1f1b690b1dbe0e6ad0d070a15bbc (patch)
treebcb223bc794607f3cd711bd5f1aef33994379c6a /core/sys/info/cpu_intel.odin
parentf3f5fbd37315f8ebe39c1fa404c2bcf905b8d316 (diff)
core/crypto/sha2: Use hardware SHA224/256 when available (AMD64)
Diffstat (limited to 'core/sys/info/cpu_intel.odin')
-rw-r--r--core/sys/info/cpu_intel.odin2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/sys/info/cpu_intel.odin b/core/sys/info/cpu_intel.odin
index 95b53dda0..c8b8282fe 100644
--- a/core/sys/info/cpu_intel.odin
+++ b/core/sys/info/cpu_intel.odin
@@ -23,6 +23,7 @@ CPU_Feature :: enum u64 {
popcnt, // Hamming weight instruction POPCNT.
rdrand, // RDRAND instruction (on-chip random number generator)
rdseed, // RDSEED instruction (on-chip random number generator)
+ sha, // SHA Extensions (SHA-1, SHA-224, SHA-256)
sse2, // Streaming SIMD extension 2 (always available on amd64)
sse3, // Streaming SIMD extension 3
ssse3, // Supplemental streaming SIMD extension 3
@@ -115,6 +116,7 @@ init_cpu_features :: proc "c" () {
_, ebx7, ecx7, edx7 := cpuid(7, 0)
try_set(&set, .bmi1, 3, ebx7)
+ try_set(&set, .sha, 29, ebx7)
if os_supports_avx {
try_set(&set, .avx2, 5, ebx7)
}