diff --git a/core/simd/x86/rdtsc.odin b/core/simd/x86/rdtsc.odin new file mode 100644 index 000000000..0527fc084 --- /dev/null +++ b/core/simd/x86/rdtsc.odin @@ -0,0 +1,19 @@ +//+build i386, amd64 +package simd_x86 + +_rdtsc :: #force_inline proc "c" () -> u64 { + return rdtsc() +} + +__rdtscp :: #force_inline proc "c" (aux: ^u32) -> u64 { + return rdtscp(aux) +} + +@(default_calling_convention="c") +@(private) +foreign _ { + @(link_name="llvm.x86.rdtsc") + rdtsc :: proc() -> u64 --- + @(link_name="llvm.x86.rdtscp") + rdtscp :: proc(aux: rawptr) -> u64 --- +} \ No newline at end of file