bndmk, bndldx, and bndstx only allow memory operands, so decoding should use OP_M() instead of OP_E(). opcodes/ 2013-10-08 Jan Beulich * i386-dis.c (Mv_bnd): New. (mod_table): Use it for bndmk, bndldx, and bndstx. --- 2013-10-07/opcodes/i386-dis.c +++ 2013-10-07/opcodes/i386-dis.c @@ -250,6 +250,7 @@ fetch_data (struct disassemble_info *inf #define Mo { OP_M, o_mode } #define Mp { OP_M, f_mode } /* 32 or 48 bit memory operand for LDS, LES etc */ #define Mq { OP_M, q_mode } +#define Mv_bnd { OP_M, v_bnd_mode } #define Mx { OP_M, x_mode } #define Mxmm { OP_M, xmm_mode } #define Gb { OP_G, b_mode } @@ -11126,17 +11127,17 @@ static const struct dis386 mod_table[][2 }, { /* MOD_0F1A_PREFIX_0 */ - { "bndldx", { Gbnd, Ev_bnd } }, + { "bndldx", { Gbnd, Mv_bnd } }, { "nopQ", { Ev } }, }, { /* MOD_0F1B_PREFIX_0 */ - { "bndstx", { Ev_bnd, Gbnd } }, + { "bndstx", { Mv_bnd, Gbnd } }, { "nopQ", { Ev } }, }, { /* MOD_0F1B_PREFIX_1 */ - { "bndmk", { Gbnd, Ev_bnd } }, + { "bndmk", { Gbnd, Mv_bnd } }, { "nopQ", { Ev } }, }, {