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]

[PATCH 3/6] x86/MPX: suppress base/index swapping in Intel mode for bndmk, bndldx, and bndstx


bndmk, bndldx, and bndstx assign special meaning to base and index
registers, and hence silently swapping the registers should be
suppressed.

gas/
2013-10-08  Jan Beulich <jbeulich@suse.com>

	* tc-i386.c (i386_intel_simplify_register): Suppress base/index
	swapping for bndmk, bndldx, and bndstx.

--- 2013-10-07/gas/config/tc-i386-intel.c
+++ 2013-10-07/gas/config/tc-i386-intel.c
@@ -291,6 +291,8 @@ i386_intel_simplify_register (expression
   else if (!intel_state.index)
     {
       if (intel_state.in_scale
+          || current_templates->start->base_opcode == 0xf30f1b /* bndmk */
+          || (current_templates->start->base_opcode & ~1) == 0x0f1a /* bnd{ld,st}x */
 	  || i386_regtab[reg_num].reg_type.bitfield.baseindex)
 	intel_state.index = i386_regtab + reg_num;
       else



Attachment: binutils-mainline-x86-MPX-intel-no-swap.patch
Description: Text document


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