regdesc
"at " #regdesc ", %0" :: "r"(__val) : "memory" \
#define AARCH64REG_READ_INLINE3(regname, regdesc, arch) \
"mrs %0, " #regdesc : "=r"(__rv) \
#define AARCH64REG_READ_INLINE2(regname, regdesc) \
AARCH64REG_READ_INLINE3(regname, regdesc, )
#define AARCH64REG_WRITE_INLINE3(regname, regdesc, arch) \
"msr " #regdesc ", %0" :: "r"(__val) : "memory" \
#define AARCH64REG_WRITE_INLINE2(regname, regdesc) \
AARCH64REG_WRITE_INLINE3(regname, regdesc, )
#define AARCH64REG_WRITEIMM_INLINE2(regname, regdesc) \
"msr " #regdesc ", %0" :: "n"(__val) : "memory" \
#define AARCH64REG_READWRITE_INLINE2(regname, regdesc) \
AARCH64REG_READ_INLINE2(regname, regdesc) \
AARCH64REG_WRITE_INLINE2(regname, regdesc)
#define AARCH64REG_ATWRITE_INLINE2(regname, regdesc) \
regfetch(struct regdesc* desc)