Why do we need to define two types of barriers with the same implementation?
For example, this code from io_uring
in Linux:
#if defined(__x86_64) || defined(__i386__)#define read_barrier() __asm__ __volatile__("":::"memory")#define write_barrier() __asm__ __volatile__("":::"memory")#else