binutils-gdb/gas/config
H.J. Lu 7e8b059be6 Support Intel MPX
gas/

2013-07-24  Anna Tikhonova  <anna.tikhonova@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/tc-i386.c (BND_PREFIX): New.
	(struct _i386_insn): Add new field bnd_prefix.
	(add_bnd_prefix): New.
	(cpu_arch): Add MPX.
	(i386_operand_type): Add regbnd.
	(md_assemble): Handle BND prefixes.
	(parse_insn): Likewise.
	(output_branch): Likewise.
	(output_jump): Likewise.
	(build_modrm_byte): Handle regbnd.
	(OPTION_MADD_BND_PREFIX): New.
	(md_longopts): Add entry for 'madd-bnd-prefix'.
	(md_parse_option): Handle madd-bnd-prefix option.
	(md_show_usage): Add description for madd-bnd-prefix
	option.
	* doc/c-i386.texi: Document mpx/.mpx and -madd-bnd-prefix.

gas/testsuite/

2013-07-24  Anna Tikhonova  <anna.tikhonova@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* gas/i386/mpx-add-bnd-prefix.s: New.
	* gas/i386/mpx-add-bnd-prefix.d: New.
	* gas/i386/mpx-inval-1.l: New.
	* gas/i386/mpx-inval-1.s: New.
	* gas/i386/mpx.d: New.
	* gas/i386/mpx.s: New.
	* gas/i386/x86-64-mpx-add-bnd-prefix.d: New.
	* gas/i386/x86-64-mpx-add-bnd-prefix.s: New.
	* gas/i386/x86-64-mpx-addr32.d: New.
	* gas/i386/x86-64-mpx-addr32.s: New.
	* gas/i386/x86-64-mpx-inval-1.l: New.
	* gas/i386/x86-64-mpx-inval-1.s: New.
	* gas/i386/x86-64-mpx-inval-2.l: New.
	* gas/i386/x86-64-mpx-inval-2.s: New.
	* gas/i386/x86-64-mpx.d: New.
	* gas/i386/x86-64-mpx.s: New.
	* gas/i386/nops.d: Adjust to MPX changes.
	* gas/i386/nops.s: Likewise.
	* gas/i386/x86-64-nops.d: Likewise.
	* gas/i386/x86-64-nops.s: Likewise.
	* gas/i386/ilp32/x86-64-nops.d: Likewise.
	* gas/i386/i386.exp: Run new MPX tests.

include/opcode/

2013-07-24  Anna Tikhonova  <anna.tikhonova@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* i386.h (BND_PREFIX_OPCODE): New.

opcodes/

2013-07-24  Anna Tikhonova  <anna.tikhonova@intel.com>
	    Kirill Yukhin  <kirill.yukhin@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* i386-dis.c (BND_Fixup): New.
	(Ebnd): New.
	(Ev_bnd): New.
	(Gbnd): New.
	(BND): New.
	(v_bnd_mode): New.
	(bnd_mode): New.
	(MOD enum): Add new entries.
	(PREFIX enum): Likewise.
	(dis tables): Replace XX with BND for near branch and call
	instructions.
	(prefix_table): Add new entries.
	(mod_table): Likewise.
	(names_bnd): New.
	(intel_names_bnd): New.
	(att_names_bnd): New.
	(BND_PREFIX): New.
	(prefix_name): Handle BND_PREFIX.
	(print_insn): Initialize names_bnd.
	(intel_operand_size): Handle new modes.
	(OP_E_register): Likewise.
	(OP_E_memory): Likewise.
	(OP_G): Likewise.
	* i386-gen.c (cpu_flag_init): Add CpuMPX.
	(cpu_flags): Add CpuMPX.
	(operand_type_init): Add RegBND.
	(opcode_modifiers): Add BNDPrefixOk.
	(operand_types): Add RegBND.
	* i386-init.h: Regenerate.
	* i386-opc.h (CpuMPX): New.
	(CpuUnused): Comment out.
	(i386_cpu_flags): Add cpumpx.
	(BNDPrefixOk): New.
	(i386_opcode_modifier): Add bndprefixok.
	(RegBND): New.
	(i386_operand_type): Add regbnd.
	* i386-opc.tbl: Add BNDPrefixOk to near jumps, calls and rets.
	Add MPX instructions and bnd prefix.
	* i386-reg.tbl: Add bnd0-bnd3 registers.
	* i386-tbl.h: Regenerate.
2013-07-24 15:47:25 +00:00
..
aout_gnu.h
atof-ieee.c
atof-vax.c
bfin-aux.h
bfin-defs.h
bfin-lex-wrapper.c
bfin-lex.l
bfin-parse.y
e-crisaout.c
e-criself.c
e-i386aout.c
e-i386coff.c
e-i386elf.c
e-mipself.c
itbl-mips.h
m68k-parse.h
m68k-parse.y
obj-aout.c
obj-aout.h
obj-coff-seh.c
obj-coff-seh.h
obj-coff.c
obj-coff.h
obj-ecoff.c
obj-ecoff.h
obj-elf.c 2013-02-06 Sandra Loosemore <sandra@codesourcery.com> 2013-02-06 23:22:26 +00:00
obj-elf.h
obj-evax.c
obj-evax.h
obj-fdpicelf.c
obj-fdpicelf.h
obj-macho.c
obj-macho.h
obj-multi.c
obj-multi.h
obj-som.c
obj-som.h
rl78-defs.h
rl78-parse.y * rl78-decode.opc: Fix encoding of DIVWU insn. 2013-02-25 18:41:06 +00:00
rx-defs.h * config/rx-defs.h: Add macros for RX100, RX200, RX600, and 2013-07-18 12:15:15 +00:00
rx-parse.y * config/rx-defs.h: Add macros for RX100, RX200, RX600, and 2013-07-18 12:15:15 +00:00
tc-aarch64.c [AArch64, ILP32] Retire -milp32 and -mlp64; use -mabi=ilp32 and -mabi=lp64. 2013-07-19 16:25:54 +00:00
tc-aarch64.h [AArch64, ILP32] 2/6 Parametrize elfnn-aarch64.c and add basic support in ld 2013-06-26 10:41:42 +00:00
tc-alpha.c
tc-alpha.h
tc-arc.c
tc-arc.h
tc-arm.c 2013-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2013-07-22 09:05:04 +00:00
tc-arm.h
tc-avr.c * config/tc-avr.c (md_show_usage): Add avrxmega2 to help text 2013-07-18 11:52:47 +00:00
tc-avr.h
tc-bfin.c
tc-bfin.h
tc-cr16.c
tc-cr16.h
tc-cris.c
tc-cris.h
tc-crx.c
tc-crx.h
tc-d10v.c
tc-d10v.h
tc-d30v.c
tc-d30v.h
tc-dlx.c
tc-dlx.h
tc-epiphany.c
tc-epiphany.h
tc-fr30.c
tc-fr30.h
tc-frv.c
tc-frv.h
tc-generic.c
tc-generic.h
tc-h8300.c * elf32-h8300 (h8_relax_section): Add new relaxation of mov 2013-03-21 16:08:07 +00:00
tc-h8300.h * elf32-h8300 (h8_relax_section): Add new relaxation of mov 2013-03-21 16:08:07 +00:00
tc-hppa.c
tc-hppa.h
tc-i370.c
tc-i370.h
tc-i386-intel.c * ar.c (usage): Fix C conformance issue. 2013-07-18 16:12:35 +00:00
tc-i386.c Support Intel MPX 2013-07-24 15:47:25 +00:00
tc-i386.h
tc-i860.c
tc-i860.h
tc-i960.c
tc-i960.h
tc-ia64.c gas/ 2013-03-26 09:13:17 +00:00
tc-ia64.h
tc-ip2k.c
tc-ip2k.h
tc-iq2000.c
tc-iq2000.h
tc-lm32.c
tc-lm32.h
tc-m32c.c
tc-m32c.h
tc-m32r.c
tc-m32r.h
tc-m68hc11.c
tc-m68hc11.h
tc-m68k.c PR gas/15602 2013-06-13 08:53:35 +00:00
tc-m68k.h PR gas/15602 2013-06-13 08:53:35 +00:00
tc-m68851.h
tc-mcore.c
tc-mcore.h
tc-mep.c
tc-mep.h
tc-metag.c
tc-metag.h
tc-microblaze.c
tc-microblaze.h
tc-mips.c gas/ 2013-07-15 18:36:57 +00:00
tc-mips.h
tc-mmix.c
tc-mmix.h
tc-mn10200.c
tc-mn10200.h
tc-mn10300.c
tc-mn10300.h
tc-moxie.c
tc-moxie.h
tc-msp430.c * config/tc-msp430.c (msp430_srcoperand): Do not allow the use of 2013-06-25 08:21:43 +00:00
tc-msp430.h * archures.c: Add some more MSP430 machine numbers. 2013-05-02 21:06:15 +00:00
tc-mt.c
tc-mt.h
tc-nios2.c 2013-06-12 Sandra Loosemore <sandra@codesourcery.com> 2013-06-12 23:11:57 +00:00
tc-nios2.h 2013-02-06 Sandra Loosemore <sandra@codesourcery.com> 2013-02-06 23:22:26 +00:00
tc-ns32k.c
tc-ns32k.h
tc-openrisc.c
tc-openrisc.h
tc-or32.c
tc-or32.h
tc-pdp11.c
tc-pdp11.h
tc-pj.c
tc-pj.h
tc-ppc.c bfd/ 2013-07-24 14:12:41 +00:00
tc-ppc.h
tc-rl78.c * reloc.c (BFD_RELOC_RL78_CODE): Add. 2013-02-27 21:39:20 +00:00
tc-rl78.h
tc-rx.c * config/rx-defs.h: Add macros for RX100, RX200, RX600, and 2013-07-18 12:15:15 +00:00
tc-rx.h
tc-s390.c 2013-07-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2013-07-24 09:02:45 +00:00
tc-s390.h
tc-score7.c
tc-score.c
tc-score.h
tc-sh64.c
tc-sh64.h
tc-sh.c gas/ 2013-04-15 10:30:23 +00:00
tc-sh.h
tc-sparc.c
tc-sparc.h PR gas/15178 2013-03-26 13:49:12 +00:00
tc-spu.c
tc-spu.h
tc-tic4x.c
tc-tic4x.h
tc-tic6x.c PR binutils/15068 2013-03-27 11:43:37 +00:00
tc-tic6x.h
tc-tic30.c
tc-tic30.h
tc-tic54x.c
tc-tic54x.h
tc-tilegx.c
tc-tilegx.h
tc-tilepro.c
tc-tilepro.h
tc-v850.c oops - omitted from previous delta 2013-04-04 07:24:08 +00:00
tc-v850.h
tc-vax.c
tc-vax.h
tc-xc16x.c
tc-xc16x.h
tc-xgate.c
tc-xgate.h
tc-xstormy16.c
tc-xstormy16.h
tc-xtensa.c
tc-xtensa.h
tc-z8k.c * config/tc-z8k.c (md_parse_option): Set z8k_target_from_cmdline 2013-04-26 19:21:25 +00:00
tc-z8k.h
tc-z80.c
tc-z80.h
te-386bsd.h
te-aix5.h
te-armeabi.h
te-armlinuxeabi.h
te-dragonfly.h
te-dynix.h
te-epoc-pe.h
te-freebsd.h
te-generic.h
te-gnu.h
te-go32.h
te-hppa64.h
te-hppa.h
te-hppalinux64.h
te-hpux.h
te-i386aix.h
te-ia64aix.h
te-interix.h
te-irix.h
te-linux.h
te-lynx.h
te-mach.h
te-macos.h
te-nacl.h
te-nbsd532.h
te-nbsd.h
te-netware.h
te-pc532mach.h
te-pe.h
te-pep.h
te-psos.h
te-riscix.h
te-solaris.h
te-sparcaout.h
te-sun3.h
te-svr4.h
te-symbian.h
te-tmips.h
te-uclinux.h
te-vms.c
te-vms.h
te-vxworks.h
te-wince-pe.h
vax-inst.h
xtensa-istack.h
xtensa-relax.c
xtensa-relax.h