Browse Source

Add rdtsc.odin

gingerBill 3 years ago
parent
commit
babfba5e8f
1 changed files with 19 additions and 0 deletions
  1. 19 0
      core/simd/x86/rdtsc.odin

+ 19 - 0
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 ---
+}