RISCV_FENCE_ASM
#define RISCV_ACQUIRE_BARRIER RISCV_FENCE_ASM(r, rw)
#define RISCV_RELEASE_BARRIER RISCV_FENCE_ASM(rw, w)
#define RISCV_FULL_BARRIER RISCV_FENCE_ASM(rw, rw)
({ __asm__ __volatile__ (RISCV_FENCE_ASM(p, s) : : : "memory"); })
({ __asm__ __volatile__ (RISCV_FENCE_ASM(p, s) : : : "memory"); })