From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9284 invoked by alias); 8 Oct 2013 15:28:55 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 9271 invoked by uid 89); 8 Oct 2013 15:28:55 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-oa0-f50.google.com Received: from mail-oa0-f50.google.com (HELO mail-oa0-f50.google.com) (209.85.219.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 08 Oct 2013 15:28:54 +0000 Received: by mail-oa0-f50.google.com with SMTP id j1so7588520oag.23 for ; Tue, 08 Oct 2013 08:28:52 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.182.220.225 with SMTP id pz1mr1297518obc.51.1381246132581; Tue, 08 Oct 2013 08:28:52 -0700 (PDT) Received: by 10.76.110.15 with HTTP; Tue, 8 Oct 2013 08:28:52 -0700 (PDT) In-Reply-To: <5254361802000078000F9A59@nat28.tlf.novell.com> References: <5254349502000078000F9A3D@nat28.tlf.novell.com> <5254361802000078000F9A59@nat28.tlf.novell.com> Date: Tue, 08 Oct 2013 15:28:00 -0000 Message-ID: Subject: Re: [PATCH 4/6] x86/MPX: bndmk, bndldx, and bndstx only allow a memory operand From: "H.J. Lu" To: Jan Beulich Cc: kirill.yukhin@intel.com, Binutils Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2013-10/txt/msg00081.txt.bz2 On Tue, Oct 8, 2013 at 7:43 AM, Jan Beulich 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 > > * 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.