diff options
author | Ben Rudiak-Gould <benrudiak@gmail.com> | 2013-02-27 10:13:14 -0800 |
---|---|---|
committer | Cyrill Gorcunov <gorcunov@gmail.com> | 2013-03-04 00:46:16 +0400 |
commit | 6e87893f068f59929cb2d6dcc50ac1a1da2f602c (patch) | |
tree | 118cfec7a0d82720ab368ed025f12bdf66de6f67 /disasm.c | |
parent | d1ac29a3cc513642a8d42ddf964b903f5e1508d4 (diff) | |
download | nasm-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.c | 10 |
1 files changed, 2 insertions, 8 deletions
@@ -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; |