summaryrefslogtreecommitdiff
path: root/disasm.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2011-07-07 17:21:24 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2011-07-07 17:21:24 -0700
commitcffe61e776f044c2ce80e7ebe2108ce09c952715 (patch)
tree9dfa2a3f96ad3e4ceb311f90187f7ed917cd165b /disasm.c
parentfc561203fde370a5ab9db2d089053de51f8a5e04 (diff)
downloadnasm-cffe61e776f044c2ce80e7ebe2108ce09c952715.tar.gz
nasm-cffe61e776f044c2ce80e7ebe2108ce09c952715.tar.bz2
nasm-cffe61e776f044c2ce80e7ebe2108ce09c952715.zip
Use a normal quad-case for valueless /is4
When we don't have an immediate for the i-field in /is4, then use a normal quad-bytecode encoding for it to save some small amount of space and re-use existing machinery. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'disasm.c')
-rw-r--r--disasm.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/disasm.c b/disasm.c
index 5c9d6db..e9d1763 100644
--- a/disasm.c
+++ b/disasm.c
@@ -621,13 +621,12 @@ static int matches(const struct itemplate *t, uint8_t *data,
}
break;
- case 0174:
+ case4(0174):
{
uint8_t ximm = *data++;
- c = *r++;
- ins->oprs[c].basereg = (ximm >> 4) & regmask;
- ins->oprs[c].segment |= SEG_RMREG;
+ opx->basereg = (ximm >> 4) & regmask;
+ opx->segment |= SEG_RMREG;
}
break;