blob: bf9c03b349bf4d77e5b8f3c0f265eb1d32699f88 [file] [log] [blame]
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
#include <intrin.h>
/* Clang has support for MSVC builtins, GCC doesn't */
#ifndef __has_builtin
#define __has_builtin(x) 0
#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
#ifdef _WIN64
unsigned __int64 val1, val2;
unsigned int val1, val2;
__asm__ __volatile__ (
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) << 32);