diff --git a/common_arm64.h b/common_arm64.h index f27ca8c63..5951e1ee5 100644 --- a/common_arm64.h +++ b/common_arm64.h @@ -78,7 +78,18 @@ static void __inline blas_lock(volatile BLASULONG *address){ #define BLAS_LOCK_DEFINED +#if !defined(OS_DARWIN) && !defined (OS_ANDROID) +static __inline BLASULONG rpcc(void){ + BLASULONG ret = 0; + + __asm__ __volatile__ ("isb; mrs %0,cntvct_el0":"=r"(ret)); + return ret; +} + +#define RPCC_DEFINED +#define RPCC64BIT +#endif static inline int blas_quickdivide(blasint x, blasint y){ return x / y;