This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 4/6] x86/MPX: bndmk, bndldx, and bndstx only allow a memory operand


On Tue, Oct 8, 2013 at 7:43 AM, Jan Beulich <JBeulich@suse.com> wrote:
> bndmk, bndldx, and bndstx only allow memory operands, so decoding should
> use OP_M() instead of OP_E().

The change isn't wrong.  But register operand will never be used since
MOD != 3.  Also, in this case, only register operand is possible for nop
since MOD == 0x3.  If we want to make the change, we should also
replace Ev with Gv.

> opcodes/
> 2013-10-08  Jan Beulich <jbeulich@suse.com>
>
>         * 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 } },
>    },
>    {
>



-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]