+2013-08-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (match_int_operand): Use mips_int_operand_min
+ and mips_int_operand_max.
+ (mips16_immed_operand, mips16_immed_operands, MIPS16_NUM_IMMED):
+ Delete.
+ (mips16_immed_operand, mips16_immed_in_range_p): New functions.
+ (mips16_immed, mips16_extended_frag): Use them. Use mips_int_operand
+ instead of mips16_immed_operand.
+
+2013-08-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (mips16_macro): Don't use move_register.
+ (mips16_ip): Allow macros to use 'p'.
+
+2013-08-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (MAX_OPERANDS): New macro.
+ (mips_operand_array): New structure.
+ (mips_operands, mips16_operands, micromips_operands): New arrays.
+ (micromips_to_32_reg_b_map, micromips_to_32_reg_c_map)
+ (micromips_to_32_reg_e_map, micromips_to_32_reg_f_map)
+ (micromips_to_32_reg_g_map, micromips_to_32_reg_l_map)
+ (micromips_to_32_reg_q_map): Delete.
+ (insn_operands, insn_opno, insn_extract_operand): New functions.
+ (validate_mips_insn): Take a mips_operand_array as argument and
+ use it to build up a list of operands. Extend to handle INSN_MACRO
+ and MIPS16.
+ (validate_mips16_insn): New function.
+ (validate_micromips_insn): Take a mips_operand_array as argument.
+ Handle INSN_MACRO.
+ (md_begin): Initialize mips_operands, mips16_operands and
+ micromips_operands. Call validate_mips_insn and
+ validate_micromips_insn for macro instructions too.
+ Call validate_mips16_insn for MIPS16 instructions.
+ (insn_read_mask, insn_write_mask, operand_reg_mask, insn_reg_mask):
+ New functions.
+ (gpr_read_mask, gpr_write_mask, fpr_read_mask, fpr_write_mask): Use
+ them. Handle INSN_UDI.
+ (get_append_method): Use gpr_read_mask.
+
+2013-08-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (compact_branch_p, uncond_branch_p): Use the same
+ flags for MIPS16 and non-MIPS16 instructions.
+ (gpr_mod_mask): Move the INSN2_MOD_SP case outside the micromips block.
+ (gpr_read_mask): Use INSN2_READ_GPR_31 for MIPS16 instructions too.
+ (gpr_write_mask): Remove MIPS16_INSN_WRITE_SP handling.
+ (can_swap_branch_p, get_append_method): Use the same flags for MIPS16
+ and non-MIPS16 instructions. Fix formatting.
+
+2013-08-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (reg_needs_delay): Move later in file.
+ Use gpr_write_mask.
+ (insns_between): Use gpr_read_mask instead of EXTRACT_OPERAND.
+
+2013-07-26 Sergey Guriev <sergey.s.guriev@intel.com>
+ Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Sergey Lega <sergey.s.lega@intel.com>
+ Anna Tikhonova <anna.tikhonova@intel.com>
+ Ilya Tocar <ilya.tocar@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/tc-i386-intel.c (O_zmmword_ptr): New.
+ (i386_types): Add zmmword.
+ (i386_intel_simplify_register): Allow regzmm.
+ (i386_intel_simplify): Handle zmmwords.
+ (i386_intel_operand): Handle RC/SAE, vector operations and
+ zmmwords.
+ * config/tc-i386.c (ZMMWORD_MNEM_SUFFIX): New.
+ (struct RC_Operation): New.
+ (struct Mask_Operation): New.
+ (struct Broadcast_Operation): New.
+ (vex_prefix): Size of bytes increased to 4 to support EVEX
+ encoding.
+ (enum i386_error): Add new error codes: unsupported_broadcast,
+ broadcast_not_on_src_operand, broadcast_needed,
+ unsupported_masking, mask_not_on_destination, no_default_mask,
+ unsupported_rc_sae, rc_sae_operand_not_last_imm,
+ invalid_register_operand, try_vector_disp8.
+ (struct _i386_insn): Add new fields vrex, need_vrex, mask,
+ rounding, broadcast, memshift.
+ (struct RC_name): New.
+ (RC_NamesTable): New.
+ (evexlig): New.
+ (evexwig): New.
+ (extra_symbol_chars): Add '{'.
+ (cpu_arch): Add AVX512F, AVX512CD, AVX512ER and AVX512PF.
+ (i386_operand_type): Add regzmm, regmask and vec_disp8.
+ (match_mem_size): Handle zmmwords.
+ (operand_type_match): Handle zmm-registers.
+ (mode_from_disp_size): Handle vec_disp8.
+ (fits_in_vec_disp8): New.
+ (md_begin): Handle {} properly.
+ (type_names): Add "rZMM", "Mask reg" and "Vector d8".
+ (build_vex_prefix): Handle vrex.
+ (build_evex_prefix): New.
+ (process_immext): Adjust to properly handle EVEX.
+ (md_assemble): Add EVEX encoding support.
+ (swap_2_operands): Correctly handle operands with masking,
+ broadcasting or RC/SAE.
+ (check_VecOperands): Support EVEX features.
+ (VEX_check_operands): Properly handle 16 upper [xyz]mm registers.
+ (match_template): Support regzmm and handle new error codes.
+ (process_suffix): Handle zmmwords and zmm-registers.
+ (check_byte_reg): Extend to zmm-registers.
+ (process_operands): Extend to zmm-registers.
+ (build_modrm_byte): Handle EVEX.
+ (output_insn): Adjust to properly handle EVEX case.
+ (disp_size): Handle vec_disp8.
+ (output_disp): Support compressed disp8*N evex feature.
+ (output_imm): Handle RC/SAE immediates properly.
+ (check_VecOperations): New.
+ (i386_immediate): Handle EVEX features.
+ (i386_index_check): Handle zmmwords and zmm-registers.
+ (RC_SAE_immediate): New.
+ (i386_att_operand): Handle EVEX features.
+ (parse_real_register): Add a check for ZMM/Mask registers.
+ (OPTION_MEVEXLIG): New.
+ (OPTION_MEVEXWIG): New.
+ (md_longopts): Add mevexlig and mevexwig.
+ (md_parse_option): Handle mevexlig and mevexwig options.
+ (md_show_usage): Add description for mevexlig and mevexwig.
+ * doc/c-i386.texi: Document avx512f/.avx512f, avx512cd/.avx512cd,
+ avx512er/.avx512er, avx512pf/.avx512pf, mevexlig and mevexwig.
+
+2013-07-25 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/tc-i386.c (cpu_arch): Add .sha.
+ * doc/c-i386.texi: Document sha/.sha.
+
+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.
+
2013-07-24 Tristan Gingold <gingold@adacore.com>
* config/tc-ppc.c (md_apply_fix): Adjust BFD_RELOC_PPC_B16 on