message: Add host version of clock64() intrinsic
  Imported to the math namespace to avoid potential clashes
diff: #include <cstring>
  #include <type_traits>
  +#if !defined(__aarch64__)
  +#include <x86intrin.h>
  +#endif
  +
  #include "../config.h"
  @@ -75,6 +79,23 @@ using std::sqrt;
  using std::tan;
  #endif
  +#ifdef __CUDACC__
  +using ::clock64;
  +#else
  +inline uint64_t clock64()
  +{
  +#if defined(__aarch64__)
  + uint64_t cnt;
  + asm volatile("mrs %0, cntvct_el0" : "=r" (cnt));
  + return cnt;
  +#else
  + unsigned int lo,hi;
  + __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));
  + return ((uint64_t)hi << 32) | lo;
  +#endif
  +}
  +#endif
  +
  #ifdef __CUDACC__
  MATH_FUNC
  inline double sqrt(int x)
  