summaryrefslogtreecommitdiff
path: root/disasm.c
diff options
context:
space:
mode:
authorBen Rudiak-Gould <benrudiak@gmail.com>2013-02-27 10:13:14 -0800
committerCyrill Gorcunov <gorcunov@gmail.com>2013-03-04 00:46:16 +0400
commit6e87893f068f59929cb2d6dcc50ac1a1da2f602c (patch)
tree118cfec7a0d82720ab368ed025f12bdf66de6f67 /disasm.c
parentd1ac29a3cc513642a8d42ddf964b903f5e1508d4 (diff)
downloadnasm-6e87893f068f59929cb2d6dcc50ac1a1da2f602c.tar.gz
nasm-6e87893f068f59929cb2d6dcc50ac1a1da2f602c.tar.bz2
nasm-6e87893f068f59929cb2d6dcc50ac1a1da2f602c.zip
Drop SAME_AS flag from instruction matcher
It was there to support the SSE5 DREX encoding, which as far as I know is dead forever. Signed-off-by: Ben Rudiak-Gould <benrudiak@gmail.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Diffstat (limited to 'disasm.c')
-rw-r--r--disasm.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/disasm.c b/disasm.c
index c2b21df..89e16ab 100644
--- a/disasm.c
+++ b/disasm.c
@@ -1124,8 +1124,7 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
* XXX: Need to make sure this is actually correct.
*/
for (i = 0; i < (*p)->operands; i++) {
- if (!((*p)->opd[i] & SAME_AS) &&
- (
+ if (
/* If it's a mem-only EA but we have a
register, die. */
((tmp_ins.oprs[i].segment & SEG_RMREG) &&
@@ -1141,7 +1140,7 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
(tmp_ins.oprs[i].segment & SEG_RMREG)) &&
!whichreg((*p)->opd[i],
tmp_ins.oprs[i].basereg, tmp_ins.rex))
- )) {
+ ) {
works = false;
break;
}
@@ -1212,11 +1211,6 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
const operand *o = &ins.oprs[i];
int64_t offs;
- if (t & SAME_AS) {
- o = &ins.oprs[t & ~SAME_AS];
- t = (*p)->opd[t & ~SAME_AS];
- }
-
output[slen++] = (colon ? ':' : i == 0 ? ' ' : ',');
offs = o->offset;