x86: Use individual prefix control for each opcode.
authorIlya Tocar <ilya.tocar@intel.com>
Mon, 6 Apr 2015 16:33:01 +0000 (19:33 +0300)
committerIlya Tocar <ilya.tocar@intel.com>
Mon, 6 Apr 2015 16:33:01 +0000 (19:33 +0300)
commitbf890a93a7c46f63fc0595189cf2b388e9a29316
tree7dca861a2a26fb47199cd2c7bc96d813d2915a38
parent4aa90cc007ff1e7c6525b3f5e573e3a4242091fa
x86: Use individual prefix control for each opcode.

2015-04-06  Ilya Tocar  <ilya.tocar@intel.com>
    H.J. Lu  <hongjiu.lu@intel.com>

* i386-dis-evex.h (evex_table): Fill prefix_requirement field.
* i386-dis.c (PREFIX_MANDATORY_REPZ, PREFIX_MANDATORY_REPNZ,
PREFIX_MANDATORY_DATA, PREFIX_MANDATORY_ADDR, PREFIX_MANDATORY_LOCK,
PREFIX_UD_SHIFT, PREFIX_UD_REPZ, REFIX_UD_REPNZ, PREFIX_UD_DATA,
PREFIX_UD_ADDR, PREFIX_UD_LOCK, PREFIX_OPTIONAL, PREFIX_MANDATORY):
Define.
(Bad_Opcode, FLOAT, DIS386, DIS386_PREFIX, THREE_BYTE_TABLE_PREFIX):
Fill prefix_requirement field.
(struct dis386): Add prefix_requirement field.
(dis386): Fill prefix_requirement field.
(dis386_twobyte): Ditto.
(twobyte_has_mandatory_prefix_: Remove.
(reg_table): Fill prefix_requirement field.
(prefix_table): Ditto.
(x86_64_table): Ditto.
(three_byte_table): Ditto.
(xop_table): Ditto.
(vex_table): Ditto.
(vex_len_table): Ditto.
(vex_w_table): Ditto.
(mod_table): Ditto.
(bad_opcode): Ditto.
(print_insn): Use prefix_requirement.
(FGRPd9_2, FGRPd9_4, FGRPd9_5, FGRPd9_6, FGRPd9_7, FGRPda_5, FGRPdb_4,
FGRPde_3, FGRPdf_4): Fill prefix_requirement field.
(float_reg): Ditto.
opcodes/ChangeLog
opcodes/i386-dis-evex.h
opcodes/i386-dis.c