diff --git a/common_arm64.h b/common_arm64.h index 13718af5a..376f81e60 100644 --- a/common_arm64.h +++ b/common_arm64.h @@ -78,17 +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__ ("mrs %0,cntvct_el0":"=r"(ret)); + __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;