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

Jan Beulich JBeulich@suse.com
Tue Oct 8 14:43:00 GMT 2013


bndmk, bndldx, and bndstx only allow memory operands, so decoding should
use OP_M() instead of OP_E().

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 } },
   },
   {



-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: binutils-mainline-x86-MPX-no-reg.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20131008/e053dd34/attachment.ksh>


More information about the Binutils mailing list