binutils-gdb/gas/config
H.J. Lu 6c30d220f1 Support AVX Programming Reference (June, 2011).
gas/

2011-06-10  H.J. Lu  <hongjiu.lu@intel.com>

	AVX Programming Reference (June, 2011)
	* config/tc-i386.c (i386_error): Add invalid_vsib_address and
	unsupported_vector_index_register.
	(cpu_arch): Add .avx2, .bmi2, .lzcnt and .invpcid.
	(check_VecOperands): New.
	(match_template): Call check_VecOperands.  Handle
	invalid_vsib_address and unsupported_vector_index_register.
	(build_modrm_byte): Support VecSIB.  Check register-only source
	operand when two source operands are swapped.
	(i386_index_check): Allow Xmm/Ymm index registers.

	* doc/c-i386.texi: Document avx2/.avx2, bmi2/.bmi2, lzcnt/.lzcnt
	and invpcid./invpcid.

gas/testsuite/

2011-06-10  H.J. Lu  <hongjiu.lu@intel.com>

	AVX Programming Reference (June, 2011)
	* gas/i386/arch-10-1.l: Updated.
	* gas/i386/arch-10-2.l: Likewise.
	* gas/i386/arch-10-3.l: Likewise.
	* gas/i386/arch-10-4.l: Likewise.

	* gas/i386/arch-10.s: Add LZCNT to comments.
	* gas/i386/x86-64-arch-2.s: Likewise.

	* gas/i386/arch-10-lzcnt.d: New.
	* gas/i386/avx-gather-intel.d: Likewise.
	* gas/i386/avx-gather.d: Likewise.
	* gas/i386/avx-gather.s: Likewise.
	* gas/i386/avx2-intel.d: Likewise.
	* gas/i386/avx2.d: Likewise.
	* gas/i386/avx2.s: Likewise
	* gas/i386/avx256int-intel.d: Likewise.
	* gas/i386/avx256int.d: Likewise.
	* gas/i386/avx256int.s: Likewise.
	* gas/i386/bmi2-intel.d: Likewise.
	* gas/i386/bmi2.d: Likewise.
	* gas/i386/bmi2.s: Likewise.
	* gas/i386/inval-invpcid.l:Likewise.
	* gas/i386/inval-invpcid.s: Likewise.
	* gas/i386/invpcid-intel.d: Likewise.
	* gas/i386/invpcid.d: Likewise.
	* gas/i386/invpcid.s: Likewise.
	* gas/i386/x86-64-arch-2-lzcnt.d: Likewise.
	* gas/i386/x86-64-avx-gather-intel.d: Likewise.
	* gas/i386/x86-64-avx-gather.d: Likewise.
	* gas/i386/x86-64-avx-gather.s: Likewise.
	* gas/i386/x86-64-avx2-intel.d: Likewise.
	* gas/i386/x86-64-avx2.d: Likewise.
	* gas/i386/x86-64-avx2.s: Likewise.
	* gas/i386/x86-64-avx256int-intel.d: Likewise.
	* gas/i386/x86-64-avx256int.d: Likewise.
	* gas/i386/x86-64-avx256int.s: Likewise.
	* gas/i386/x86-64-bmi2-intel.d: Likewise.
	* gas/i386/x86-64-bmi2.d: Likewise.
	* gas/i386/x86-64-bmi2.s: Likewise.
	* gas/i386/x86-64-inval-invpcid.l: Likewise.
	* gas/i386/x86-64-inval-invpcid.s: Likewise.
	* gas/i386/x86-64-invpcid-intel.d: Likewise.
	* gas/i386/x86-64-invpcid.d: Likewise.
	* gas/i386/x86-64-invpcid.s: Likewise.

opcodes/

2011-06-10  H.J. Lu  <hongjiu.lu@intel.com>

	AVX Programming Reference (June, 2011)
	* i386-dis.c (XMGatherQ): New.
	* i386-dis.c (EXxmm_mb): New.
	(EXxmm_mb): Likewise.
	(EXxmm_mw): Likewise.
	(EXxmm_md): Likewise.
	(EXxmm_mq): Likewise.
	(EXxmmdw): Likewise.
	(EXxmmqd): Likewise.
	(VexGatherQ): Likewise.
	(MVexVSIBDWpX): Likewise.
	(MVexVSIBQWpX): Likewise.
	(xmm_mb_mode): Likewise.
	(xmm_mw_mode): Likewise.
	(xmm_md_mode): Likewise.
	(xmm_mq_mode): Likewise.
	(xmmdw_mode): Likewise.
	(xmmqd_mode): Likewise.
	(ymmxmm_mode): Likewise.
	(vex_vsib_d_w_dq_mode): Likewise.
	(vex_vsib_q_w_dq_mode): Likewise.
	(MOD_VEX_0F385A_PREFIX_2): Likewise.
	(MOD_VEX_0F388C_PREFIX_2): Likewise.
	(MOD_VEX_0F388E_PREFIX_2): Likewise.
	(PREFIX_0F3882): Likewise.
	(PREFIX_VEX_0F3816): Likewise.
	(PREFIX_VEX_0F3836): Likewise.
	(PREFIX_VEX_0F3845): Likewise.
	(PREFIX_VEX_0F3846): Likewise.
	(PREFIX_VEX_0F3847): Likewise.
	(PREFIX_VEX_0F3858): Likewise.
	(PREFIX_VEX_0F3859): Likewise.
	(PREFIX_VEX_0F385A): Likewise.
	(PREFIX_VEX_0F3878): Likewise.
	(PREFIX_VEX_0F3879): Likewise.
	(PREFIX_VEX_0F388C): Likewise.
	(PREFIX_VEX_0F388E): Likewise.
	(PREFIX_VEX_0F3890..PREFIX_VEX_0F3893): Likewise.
	(PREFIX_VEX_0F38F5): Likewise.
	(PREFIX_VEX_0F38F6): Likewise.
	(PREFIX_VEX_0F3A00): Likewise.
	(PREFIX_VEX_0F3A01): Likewise.
	(PREFIX_VEX_0F3A02): Likewise.
	(PREFIX_VEX_0F3A38): Likewise.
	(PREFIX_VEX_0F3A39): Likewise.
	(PREFIX_VEX_0F3A46): Likewise.
	(PREFIX_VEX_0F3AF0): Likewise.
	(VEX_LEN_0F3816_P_2): Likewise.
	(VEX_LEN_0F3819_P_2): Likewise.
	(VEX_LEN_0F3836_P_2): Likewise.
	(VEX_LEN_0F385A_P_2_M_0): Likewise.
	(VEX_LEN_0F38F5_P_0): Likewise.
	(VEX_LEN_0F38F5_P_1): Likewise.
	(VEX_LEN_0F38F5_P_3): Likewise.
	(VEX_LEN_0F38F6_P_3): Likewise.
	(VEX_LEN_0F38F7_P_1): Likewise.
	(VEX_LEN_0F38F7_P_2): Likewise.
	(VEX_LEN_0F38F7_P_3): Likewise.
	(VEX_LEN_0F3A00_P_2): Likewise.
	(VEX_LEN_0F3A01_P_2): Likewise.
	(VEX_LEN_0F3A38_P_2): Likewise.
	(VEX_LEN_0F3A39_P_2): Likewise.
	(VEX_LEN_0F3A46_P_2): Likewise.
	(VEX_LEN_0F3AF0_P_3): Likewise.
	(VEX_W_0F3816_P_2): Likewise.
	(VEX_W_0F3818_P_2): Likewise.
	(VEX_W_0F3819_P_2): Likewise.
	(VEX_W_0F3836_P_2): Likewise.
	(VEX_W_0F3846_P_2): Likewise.
	(VEX_W_0F3858_P_2): Likewise.
	(VEX_W_0F3859_P_2): Likewise.
	(VEX_W_0F385A_P_2_M_0): Likewise.
	(VEX_W_0F3878_P_2): Likewise.
	(VEX_W_0F3879_P_2): Likewise.
	(VEX_W_0F3A00_P_2): Likewise.
	(VEX_W_0F3A01_P_2): Likewise.
	(VEX_W_0F3A02_P_2): Likewise.
	(VEX_W_0F3A38_P_2): Likewise.
	(VEX_W_0F3A39_P_2): Likewise.
	(VEX_W_0F3A46_P_2): Likewise.
	(MOD_VEX_0F3818_PREFIX_2): Removed.
	(MOD_VEX_0F3819_PREFIX_2): Likewise.
	(VEX_LEN_0F60_P_2..VEX_LEN_0F6D_P_2): Likewise.
	(VEX_LEN_0F70_P_1..VEX_LEN_0F76_P_2): Likewise.
	(VEX_LEN_0FD1_P_2..VEX_LEN_0FD5_P_2): Likewise.
	(VEX_LEN_0FD7_P_2_M_1..VEX_LEN_0F3819_P_2_M_0): Likewise.
	(VEX_LEN_0F381C_P_2..VEX_LEN_0F3840_P_2): Likewise.
	(VEX_LEN_0F3A0E_P_2): Likewise.
	(VEX_LEN_0F3A0F_P_2): Likewise.
	(VEX_LEN_0F3A42_P_2): Likewise.
	(VEX_LEN_0F3A4C_P_2): Likewise.
	(VEX_W_0F3818_P_2_M_0): Likewise.
	(VEX_W_0F3819_P_2_M_0): Likewise.
	(prefix_table): Updated.
	(three_byte_table): Likewise.
	(vex_table): Likewise.
	(vex_len_table): Likewise.
	(vex_w_table): Likewise.
	(mod_table): Likewise.
	(putop): Handle "LW".
	(intel_operand_size): Handle xmm_mb_mode, xmm_mw_mode,
	xmm_md_mode, xmm_mq_mode, xmmdw_mode, xmmqd_mode, ymmxmm_mode,
	vex_vsib_d_w_dq_mode, vex_vsib_q_w_dq_mode.
	(OP_EX): Likewise.
	(OP_E_memory): Handle vex_vsib_d_w_dq_mode and
	vex_vsib_q_w_dq_mode.
	(OP_XMM): Handle vex_vsib_q_w_dq_mode.
	(OP_VEX): Likewise.

	* i386-gen.c (cpu_flag_init): Add CpuAVX2 to CPU_ANY_SSE_FLAGS
	and CPU_ANY_AVX_FLAGS.  Add CPU_BMI2_FLAGS, CPU_LZCNT_FLAGS,
	CPU_INVPCID_FLAGS and CPU_AVX2_FLAGS.
	(cpu_flags): Add CpuAVX2, CpuBMI2, CpuLZCNT and CpuINVPCID.
	(opcode_modifiers): Add VecSIB.

	* i386-opc.h (CpuAVX2): New.
	(CpuBMI2): Likewise.
	(CpuLZCNT): Likewise.
	(CpuINVPCID): Likewise.
	(VecSIB128): Likewise.
	(VecSIB256): Likewise.
	(VecSIB): Likewise.
	(i386_cpu_flags): Add cpuavx2, cpubmi2, cpulzcnt and cpuinvpcid.
	(i386_opcode_modifier): Add vecsib.

	* i386-opc.tbl: Add invpcid, AVX2 and BMI2 instructions.
	* i386-init.h: Regenerated.
	* i386-tbl.h: Likewise.
2011-06-10 21:27:40 +00:00
..
aout_gnu.h
atof-ieee.c
atof-vax.c
bfin-aux.h gas: blackfin: support numeric local labels with LOOP_BEGIN/LOOP_END pseudo insns 2010-10-11 08:36:30 +00:00
bfin-defs.h gas/opcodes: blackfin: move dsp mac func defines to common header 2011-02-12 19:36:31 +00:00
bfin-lex.l gas/opcodes: blackfin: punt BYTEOP2M insn support 2011-02-13 18:53:16 +00:00
bfin-parse.y gas: blackfin: gas: blackfin: reject invalid BYTEUNPACK insns 2011-03-29 05:54:41 +00:00
e-crisaout.c
e-criself.c
e-i386aout.c
e-i386coff.c
e-i386elf.c
e-mipsecoff.c
e-mipself.c
itbl-mips.h
m68k-parse.h
m68k-parse.y
obj-aout.c * obj.h (struct format_ops): Add adjust_symtab. 2010-10-25 12:38:42 +00:00
obj-aout.h
obj-coff-seh.c ChangeLog gas 2010-09-15 19:48:52 +00:00
obj-coff-seh.h ChangeLog gas 2010-09-15 19:43:56 +00:00
obj-coff.c bfd 2011-05-18 07:58:36 +00:00
obj-coff.h remove maxq-coff port 2010-06-29 04:17:34 +00:00
obj-ecoff.c * obj.h (struct format_ops): Add adjust_symtab. 2010-10-25 12:38:42 +00:00
obj-ecoff.h
obj-elf.c * obj-elf.c (obj_elf_section): Free malloced name. 2011-03-30 15:06:51 +00:00
obj-elf.h * gas/config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS, 2011-03-10 10:06:05 +00:00
obj-evax.c 2010-05-31 Tristan Gingold <gingold@adacore.com> 2010-05-31 15:53:13 +00:00
obj-evax.h * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
obj-fdpicelf.c
obj-fdpicelf.h
obj-macho.c
obj-macho.h
obj-multi.c
obj-multi.h * obj.h (struct format_ops): Add adjust_symtab. 2010-10-25 12:38:42 +00:00
obj-som.c
obj-som.h bfd/ 2010-06-10 08:51:46 +00:00
rx-defs.h
rx-parse.y * config/rx-parse.y (SUB): Correct subtraction of immediate 2010-12-18 05:40:46 +00:00
tc-alpha.c PR 12610 2011-03-29 18:16:16 +00:00
tc-alpha.h
tc-arc.c * gas/config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS, 2011-03-10 10:06:05 +00:00
tc-arc.h
tc-arm.c 2011-06-09 James Greenhalgh <james.greenhalgh@arm.com> 2011-06-09 09:59:34 +00:00
tc-arm.h 2011-05-31 Paul Brook <paul@codesourcery.com> 2011-05-31 13:40:04 +00:00
tc-avr.c PR 12610 2011-03-29 18:16:16 +00:00
tc-avr.h PR 12610 2011-03-29 18:16:16 +00:00
tc-bfin.c gas: blackfin: add support for bf54x-0.4 2011-03-15 00:17:00 +00:00
tc-bfin.h strip trailing whitespace in Blackfin files 2010-03-10 14:23:58 +00:00
tc-cr16.c PR gas/12861 2011-06-09 15:43:52 +00:00
tc-cr16.h
tc-cris.c * config/tc-cris.c (md_parse_option) <OPTION_PIC>: Error if not 2011-05-16 03:28:47 +00:00
tc-cris.h
tc-crx.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-crx.h
tc-d10v.c * config/tc-d10v.c (do_assemble): Correctly detect overflow of 2010-08-25 11:51:07 +00:00
tc-d10v.h * read.c (read_a_source_file): Remove md_after_pass_hook. 2011-03-18 10:46:52 +00:00
tc-d30v.c * config/tc-d30v.c (d30v_cons_align): Don't align .eh_frame. 2010-10-28 05:34:55 +00:00
tc-d30v.h * read.c (read_a_source_file): Remove md_after_pass_hook. 2011-03-18 10:46:52 +00:00
tc-dlx.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-dlx.h
tc-fr30.c
tc-fr30.h
tc-frv.c
tc-frv.h
tc-generic.c
tc-generic.h
tc-h8300.c PR gas/12384 2011-01-20 12:49:05 +00:00
tc-h8300.h
tc-hppa.c PR gas/11395 2010-12-31 16:43:46 +00:00
tc-hppa.h
tc-i370.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-i370.h
tc-i386-intel.c Properly fold _GLOBAL_OFFSET_TABLE_ in Intel syntax. 2010-11-03 14:18:43 +00:00
tc-i386.c Support AVX Programming Reference (June, 2011). 2011-06-10 21:27:40 +00:00
tc-i386.h 2011-05-12 Quentin Neill <quentin.neill@amd.com> 2011-05-12 22:29:06 +00:00
tc-i860.c
tc-i860.h
tc-i960.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-i960.h
tc-ia64.c * config/tc-arm.c (s_unreq): Reword warning message to make it 2011-05-18 09:41:15 +00:00
tc-ia64.h 2011-03-31 Tristan Gingold <gingold@adacore.com> 2011-03-31 08:02:41 +00:00
tc-ip2k.c
tc-ip2k.h
tc-iq2000.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-iq2000.h
tc-lm32.c
tc-lm32.h
tc-m32c.c * configure.tgt (m32c): Set endian=little. 2010-08-04 04:21:06 +00:00
tc-m32c.h * configure.tgt (m32c): Set endian=little. 2010-08-04 04:21:06 +00:00
tc-m32r.c * config/tc-m32r.c (md_show_usage): Fix typos in descriptions. 2011-05-17 16:15:59 +00:00
tc-m32r.h * read.c (read_a_source_file): Remove md_after_pass_hook. 2011-03-18 10:46:52 +00:00
tc-m68hc11.c * config/tc-d10v.c (do_assemble): Correctly detect overflow of 2010-08-25 11:51:07 +00:00
tc-m68hc11.h
tc-m68k.c * gas/config/tc-m68k.c (tc_gen_reloc): Handle references to defined 2010-09-09 10:48:17 +00:00
tc-m68k.h
tc-m68851.h
tc-mcore.c
tc-mcore.h
tc-mep.c PR gas/12011 2010-09-16 23:55:10 +00:00
tc-mep.h
tc-microblaze.c * config/tc-d10v.c (do_assemble): Correctly detect overflow of 2010-08-25 11:51:07 +00:00
tc-microblaze.h
tc-mips.c 2011-04-20 Catherine Moore <clm@codesourcery.com> 2011-04-20 16:45:35 +00:00
tc-mips.h * symbols.c (symbol_clone_if_forward_ref): Call tc_new_dot_label 2010-12-16 18:48:28 +00:00
tc-mmix.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-mmix.h
tc-mn10200.c
tc-mn10200.h
tc-mn10300.c * config/tc-mn10300.c (tc_gen_reloc): Replace absolute symbols 2010-09-23 12:11:31 +00:00
tc-mn10300.h
tc-moxie.c * config/tc-moxie.c (md_apply_fix): Delete set but otherwise 2010-07-05 05:56:11 +00:00
tc-moxie.h
tc-msp430.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-msp430.h
tc-mt.c * config/tc-m32r.c (md_show_usage): Fix typos in descriptions. 2011-05-17 16:15:59 +00:00
tc-mt.h
tc-ns32k.c
tc-ns32k.h
tc-openrisc.c
tc-openrisc.h
tc-or32.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-or32.h
tc-pdp11.c * config/tc-pdp11.c (parse_op_no_deferred): Allow PC-relative 2011-01-06 16:41:35 +00:00
tc-pdp11.h
tc-pj.c * config/tc-m32r.c (md_show_usage): Fix typos in descriptions. 2011-05-17 16:15:59 +00:00
tc-pj.h
tc-ppc.c Fix spelling mistakes. 2011-06-02 13:43:24 +00:00
tc-ppc.h bfd 2011-05-18 07:58:36 +00:00
tc-rx.c * write.c (write_contents): Include output file name and bfd error 2011-01-31 16:43:15 +00:00
tc-rx.h * config/tc-rx.h (md_do_align): New. 2010-07-02 20:40:28 +00:00
tc-s390.c * config/tc-s390.c (md_begin): Remove unused variable dup_insn. 2011-05-27 12:56:06 +00:00
tc-s390.h 2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2010-01-21 11:40:28 +00:00
tc-score7.c 2010-03-01 Tristan Gingold <gingold@adacore.com> 2010-03-01 16:47:52 +00:00
tc-score.c
tc-score.h
tc-sh64.c
tc-sh64.h
tc-sh.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-sh.h 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com> 2010-05-25 14:12:43 +00:00
tc-sparc.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-sparc.h ld: 2010-10-22 12:08:32 +00:00
tc-spu.c
tc-spu.h
tc-tic4x.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-tic4x.h
tc-tic6x.c ld/testsuite/ 2011-05-20 10:10:00 +00:00
tc-tic6x.h ld/testsuite/ 2011-05-20 10:10:00 +00:00
tc-tic30.c PR gas/12754 2011-05-18 13:52:44 +00:00
tc-tic30.h
tc-tic54x.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-tic54x.h
tc-v850.c PR gas/12755 2011-05-12 23:50:23 +00:00
tc-v850.h * config/tc-v850.h (TC_FX_SIZE_SLACK): Define. 2011-05-23 09:29:00 +00:00
tc-vax.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-vax.h
tc-xc16x.c
tc-xc16x.h
tc-xstormy16.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-xstormy16.h
tc-xtensa.c * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define. 2010-06-28 14:06:57 +00:00
tc-xtensa.h
tc-z8k.c
tc-z8k.h
tc-z80.c * config/tc-z80.c (md_apply_fix): Rename var to fix shadow warning. 2010-12-09 20:02:07 +00:00
tc-z80.h
te-386bsd.h
te-aix5.h
te-armeabi.h
te-armlinuxeabi.h
te-dragonfly.h Add support for DragonFlyBSD target. 2011-03-28 11:18:27 +00:00
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 bfd/ 2010-01-23 12:05:33 +00:00
te-ia64aix.h
te-interix.h
te-irix.h
te-linux.h
te-lnews.h
te-lynx.h
te-mach.h
te-macos.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 * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only 2010-01-21 20:58:34 +00:00
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