/* $Id$ */
REG(rax, 64,	0x00, 0,	"General-purpose register")
REG(rcx, 64,	0x01, 0,	"General-purpose register")
REG(rdx, 64,	0x02, 0,	"General-purpose register")
REG(rbx, 64,	0x03, 0,	"General-purpose register")
REG(rsp, 64,	0x04, 0,	"Stack pointer")
REG(rbp, 64,	0x05, 0,	"Base pointer")
REG(rsi, 64,	0x06, 0,	"Array index")
REG(rdi, 64,	0x07, 0,	"Array index")
REG(r8,  64,	0x08, 0,	"General-purpose register")
REG(r9,  64,	0x09, 0,	"General-purpose register")
REG(r10, 64,	0x0a, 0,	"General-purpose register")
REG(r11, 64,	0x0b, 0,	"General-purpose register")
REG(r12, 64,	0x0c, 0,	"General-purpose register")
REG(r13, 64,	0x0d, 0,	"General-purpose register")
REG(r14, 64,	0x0e, 0,	"General-purpose register")
REG(r15, 64,	0x0f, 0,	"General-purpose register")
REG(rip, 64,	0x10, 0,	"Instruction pointer")
/* aliases */
/* 8 bits */
REG(r0b, 8,	0x00, ARF_ALIAS,NULL)
REG(r1b, 8,	0x01, ARF_ALIAS,NULL)
REG(r2b, 8,	0x02, ARF_ALIAS,NULL)
REG(r3b, 8,	0x03, ARF_ALIAS,NULL)
REG(r4b, 8,	0x04, ARF_ALIAS,NULL)
REG(r5b, 8,	0x05, ARF_ALIAS,NULL)
REG(r6b, 8,	0x06, ARF_ALIAS,NULL)
REG(r7b, 8,	0x07, ARF_ALIAS,NULL)
REG(r8b, 8,	0x08, ARF_ALIAS,NULL)
REG(r9b, 8,	0x09, ARF_ALIAS,NULL)
REG(r10b,8,	0x0a, ARF_ALIAS,NULL)
REG(r11b,8,	0x0b, ARF_ALIAS,NULL)
REG(r12b,8,	0x0c, ARF_ALIAS,NULL)
REG(r13b,8,	0x0d, ARF_ALIAS,NULL)
REG(r14b,8,	0x0e, ARF_ALIAS,NULL)
REG(r15b,8,	0x0f, ARF_ALIAS,NULL)
/* 16 bits */
REG(r0w, 16,	0x00, ARF_ALIAS,NULL)
REG(r1w, 16,	0x01, ARF_ALIAS,NULL)
REG(r2w, 16,	0x02, ARF_ALIAS,NULL)
REG(r3w, 16,	0x03, ARF_ALIAS,NULL)
REG(r4w, 16,	0x04, ARF_ALIAS,NULL)
REG(r5w, 16,	0x05, ARF_ALIAS,NULL)
REG(r6w, 16,	0x06, ARF_ALIAS,NULL)
REG(r7w, 16,	0x07, ARF_ALIAS,NULL)
REG(r8w, 16,	0x08, ARF_ALIAS,NULL)
REG(r9w, 16,	0x09, ARF_ALIAS,NULL)
REG(r10w,16,	0x0a, ARF_ALIAS,NULL)
REG(r11w,16,	0x0b, ARF_ALIAS,NULL)
REG(r12w,16,	0x0c, ARF_ALIAS,NULL)
REG(r13w,16,	0x0d, ARF_ALIAS,NULL)
REG(r14w,16,	0x0e, ARF_ALIAS,NULL)
REG(r15w,16,	0x0f, ARF_ALIAS,NULL)
/* 32 bits */
REG(r0d, 32,	0x00, ARF_ALIAS,NULL)
REG(r1d, 32,	0x01, ARF_ALIAS,NULL)
REG(r2d, 32,	0x02, ARF_ALIAS,NULL)
REG(r3d, 32,	0x03, ARF_ALIAS,NULL)
REG(r4d, 32,	0x04, ARF_ALIAS,NULL)
REG(r5d, 32,	0x05, ARF_ALIAS,NULL)
REG(r6d, 32,	0x06, ARF_ALIAS,NULL)
REG(r7d, 32,	0x07, ARF_ALIAS,NULL)
REG(r8d, 32,	0x08, ARF_ALIAS,NULL)
REG(r9d, 32,	0x09, ARF_ALIAS,NULL)
REG(r10d,32,	0x0a, ARF_ALIAS,NULL)
REG(r11d,32,	0x0b, ARF_ALIAS,NULL)
REG(r12d,32,	0x0c, ARF_ALIAS,NULL)
REG(r13d,32,	0x0d, ARF_ALIAS,NULL)
REG(r14d,32,	0x0e, ARF_ALIAS,NULL)
REG(r15d,32,	0x0f, ARF_ALIAS,NULL)
/* 64 bits */
REG(r0,  64,	0x00, ARF_ALIAS,NULL)
REG(r1,  64,	0x01, ARF_ALIAS,NULL)
REG(r2,  64,	0x02, ARF_ALIAS,NULL)
REG(r3,  64,	0x03, ARF_ALIAS,NULL)
REG(r4,  64,	0x04, ARF_ALIAS,NULL)
REG(r5,  64,	0x05, ARF_ALIAS,NULL)
REG(r6,  64,	0x06, ARF_ALIAS,NULL)
REG(r7,  64,	0x07, ARF_ALIAS,NULL)
