_MATCH_REG
_MATCH_REG( 0, rax);
_MATCH_REG( 1, rcx);
_MATCH_REG( 2, rdx);
_MATCH_REG( 3, rbx);
_MATCH_REG( 4, rsp); /* SIB when mod != 3 */
_MATCH_REG( 5, rbp);
_MATCH_REG( 6, rsi);
_MATCH_REG( 7, rdi);
_MATCH_REG( 8, r8); /* REX.R is set */
_MATCH_REG( 9, r9);
_MATCH_REG(10, r10);
_MATCH_REG(11, r11);
_MATCH_REG(12, r12);
_MATCH_REG(13, r13);
_MATCH_REG(14, r14);
_MATCH_REG(15, r15);
return (_MATCH_REG(ra));
return (_MATCH_REG(sp));
return (_MATCH_REG(gp));
return (_MATCH_REG(tp));
return (_MATCH_REG(t[n - 5]));
return (_MATCH_REG(s[n - 8]));
return (_MATCH_REG(a[n - 10]));
return (_MATCH_REG(s[n - 18 + 2]));
return (_MATCH_REG(t[n - 28 + 3]));
return (_MATCH_REG(s[n]));
return (_MATCH_REG(a[n - 2]));