diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h index 8afdbc2..4a0368e 100644 --- a/libperf_events/operf_utils.h +++ b/libperf_events/operf_utils.h @@ -161,6 +161,13 @@ void op_release_resources(void); #define cpu_relax() asm volatile("yield" ::: "memory") #endif +#ifdef __loongarch64 +#define DBAR(hint) __asm__ __volatile__("dbar %0 " : : "I"(hint) : "memory") +#define cr_r_ 0b00101 +#define c_rsync() DBAR(cr_r_) +#define rmb() c_rsync() +#endif + #ifdef __mips__ #include #define rmb() asm volatile( \