-2013-11-15 Michael Zolotukhin <michael.v.zolotukhin@gmail.com>
-
- * config/tc-i386.c (check_VecOperands): Reorder checks.
-
-2013-11-11 Catherine Moore <clm@codesourcery.com>
-
- * config/mips/tc-mips.c (convert_reg_type): Use
- INSN_LOAD_MEMORY instead of INSN_LOAD_MEMORY_DELAY.
- (reg_needs_delay): Likewise.
- (insns_between): Likewise.
-
-2013-11-08 Jan-Benedict Glaw <jbglaw@lug-owl.de
-
- * config/tc-ppc.c (ppc_elf_localentry): Add cast.
-
-2013-11-05 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/tc-aarch64.c (parse_sys_reg): Update to use aarch64_sys_reg;
- call aarch64_sys_reg_deprecated_p and warn about the deprecated
- system registers.
-
-2013-11-05 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/tc-aarch64.c (parse_operands): Handle AARCH64_OPND_COND1.
-
-2013-11-05 Will Newton <will.newton@linaro.org>
-
- PR gas/16103
- * config/tc-aarch64.c (parse_operands): Avoid trying to
- parse a vector register as an immediate.
-
-2013-11-04 Jan Beulich <jbeulich@suse.com>
-
- * config/tc-i386.c (check_long_reg): Correct comment indentation.
- (check_qword_reg): Correct comment and its indentation.
- (check_word_reg): Extend comment and correct its indentation. Also
- check for 64-bit register.
-
-2013-10-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/tc-ppc.c (md_pseudo_table): Add .localentry.
- (ppc_elf_localentry): New function.
- (ppc_force_relocation): Force relocs on all branches to localenty
- symbols.
- (ppc_fix_adjustable): Don't reduce such symbols to section+offset.
-
-2013-10-30 Alan Modra <amodra@gmail.com>
-
- * config/tc-ppc.c: Include elf/ppc64.h.
- (ppc_abiversion): New variable.
- (md_pseudo_table): Add .abiversion.
- (ppc_elf_abiversion, ppc_elf_end): New functions.
- * config/tc-ppc.h (md_end): Define.
-
-2013-10-30 Alan Modra <amodra@gmail.com>
-
- * config/tc-ppc.c (SEX16): Don't mask.
- (REPORT_OVERFLOW_HI): Define as zero.
- (ppc_elf_suffix): Support @high, @higha, @dtprel@high, @dtprel@higha,
- @tprel@high, and @tprel@higha modifiers.
- (md_assemble): Ignore X_unsigned when applying 16-bit insn fields.
- Add (disabled) code to check @h and @ha reloc overflow for powerpc64.
- Handle new relocs.
- (md_apply_fix): Similarly.
-
-2013-10-18 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
-
- * config/tc-mips.c (fpr_read_mask): Test MSA registers.
- (fpr_write_mask): Test MSA registers.
- (can_swap_branch_p): Check fpr write followed by fpr read.
-
-2013-10-18 Nick Clifton <nickc@redhat.com>
-
- * config/tc-tic6x.c (tic6x_parse_operand): Revert previous delta.
-
-2013-10-14 Richard Sandiford <rdsandiford@googlemail.com>
- Chao-ying Fu <Chao-ying.Fu@imgtec.com>
-
- * config/tc-mips.c (options): Add OPTION_MSA and OPTION_NO_MSA.
- (md_longopts): Add mmsa and mno-msa.
- (mips_ases): Add msa.
- (RTYPE_MASK): Update.
- (RTYPE_MSA): New define.
- (OT_REG_ELEMENT): Replace with...
- (OT_INTEGER_INDEX, OT_REG_INDEX): ...these new operand types.
- (mips_operand_token): Replace reg_element with index.
- (mips_parse_argument_token): Treat vector indices as separate tokens.
- Handle register indices.
- (md_begin): Add MSA register names.
- (operand_reg_mask): Handle cases for OP_IMM_INDEX and OP_REG_INDEX.
- (convert_reg_type): Handle cases for OP_REG_MSA and OP_REG_MSA_CTRL.
- (match_mdmx_imm_reg_operand): Update accordingly.
- (match_imm_index_operand): New function.
- (match_reg_index_operand): New function.
- (match_operand): Handle cases for OP_IMM_INDEX and OP_REG_INDEX.
- (md_convert_frag): Convert bz.b/h/w/d, bnz.b/h/w/d, bz.v bnz.v.
- (md_show_usage): Print -mmsa and -mno-msa.
- * doc/as.texinfo: Document -mmsa and -mno-msa.
- * doc/c-mips.texi: Document -mmsa and -mno-msa.
- Document .set msa and .set nomsa.
-
-2013-10-14 Nick Clifton <nickc@redhat.com>
-
- * read.c (add_include_dir): Use xrealloc.
- * config/tc-score.c (do_macro_bcmp): Initialise inst_main.
- * config/tc-tic6x.c (tic6x_parse_operand): Initialise second_reg.
-
-2013-10-13 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/tc-nios2.c (nios2_consume_arg): Make the "ba" warning
- also test/refer to "sstatus". Reformat the warning message.
-
-2013-10-10 Sean Keys <skeys@ipdatasys.com>
-
- * tc-xgate.c (xgate_find_match): Refactor opcode matching.
-
-2013-10-10 Jan Beulich <jbeulich@suse.com>
-
- * tc-i386-intel.c (i386_intel_simplify_register): Suppress base/index
- swapping for bndmk, bndldx, and bndstx.
-
-2013-10-09 Nick Clifton <nickc@redhat.com>
-
- PR gas/16025
- * config/tc-epiphany.c (md_convert_frag): Add missing break
- statement.
-
- PR gas/16026
- * config/tc-mn10200.c (md_convert_frag): Add missing break
- statement.
-
-2013-10-08 Jan Beulich <jbeulich@suse.com>
-
- * tc-i386.c (check_word_reg): Remove misplaced "else".
- (check_long_reg): Restore symmetry with check_word_reg.
-
-2013-10-08 Jan Beulich <jbeulich@suse.com>
-
- * gas/config/tc-arm.c (do_t_push_pop): Honor inst.size_req. Simplify
- LR/PC check.
-
-2013-10-08 Nick Clifton <nickc@redhat.com>
-
- * config/tc-msp430.c (msp430_operands): Accept "<foo>.a" as an alias
- for "<foo>a". Issue error messages for unrecognised or corrrupt
- size extensions.
-
-2013-10-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/tc-arm.c (do_t_mvn_tst): Use narrow form for tst when
- possible.
-
-2013-09-30 Saravanan Ekanathan <saravanan.ekanathan@amd.com>
-
- * config/tc-i386.c (cpu_arch): Add CPU_BDVER4_FLAGS.
- * doc/c-i386.texi: Add -march=bdver4 option.
-
-2013-09-20 Alan Modra <amodra@gmail.com>
-
- * configure: Regenerate.
-
-2013-09-18 Tristan Gingold <gingold@adacore.com>
-
- * NEWS: Add marker for 2.24.
-
-2013-09-18 Nick Clifton <nickc@redhat.com>
-
- * config/tc-msp430.c (OPTION_MOVE_DATA): Define.
- (move_data): New variable.
- (md_parse_option): Parse -md.
- (msp430_section): New function. Catch references to the .bss or
- .data sections and generate a special symbol for use by the libcrt
- library.
- (md_pseudo_table): Intercept .section directives.
- (md_longopt): Add -md
- (md_show_usage): Likewise.
- (msp430_operands): Generate a warning message if a NOP is inserted
- into the instruction stream.
- * doc/c-msp430.texi (node MSP430 Options): Document -md option.
-
-2013-09-17 Doug Gilmore <Doug.Gilmore@imgtec.com>
-
- * config/tc-mips.c (mips_elf_final_processing): Set
- EF_MIPS_FP64 for -mgp32 -mfp64, removing old FIXME.
-
-2013-09-16 Will Newton <will.newton@linaro.org>
-
- * config/tc-arm.c (do_neon_ld_st_interleave): Add constraint
- disallowing element size 64 with interleave other than 1.
-
-2013-09-12 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
-
- * config/tc-mips.c (match_insn): Set error when $31 is used for
- bltzal* and bgezal*.
-
-2013-09-04 Tristan Gingold <gingold@adacore.com>
-
- * config/tc-ppc.c (md_apply_fix): Handle defined after use toc
- symbols.
-
-2013-09-04 Roland McGrath <mcgrathr@google.com>
-
- PR gas/15914
- * config/tc-arm.c (T16_32_TAB): Add _udf.
- (do_t_udf): New function.
- (insns): Add "udf".
-
-2013-08-23 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com>
-
- * config/rx-parse.y: Rearrange the components of a bison grammar to issue
- assembler errors at correct position.
-
-2013-08-23 Yuri Chornoivan <yurchor@ukr.net>
-
- PR binutils/15834
- * config/tc-ia64.c: Fix typos.
- * config/tc-sparc.c: Likewise.
- * config/tc-z80.c: Likewise.
- * doc/c-i386.texi: Likewise.
- * doc/c-m32r.texi: Likewise.
-
-2013-08-23 Will Newton <will.newton@linaro.org>
-
- * config/tc-arm.c: (do_neon_ldx_stx): Add extra constraints
- for pre-indexed addressing modes.
-
-2013-08-21 Alan Modra <amodra@gmail.com>
-
- * symbols.c (fb_label_instance_inc, fb_label_instance): Properly
- range check label number for use with fb_low_counter array.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_check_isa_supports_ase, reg_lookup)
- (mips_parse_argument_token, validate_micromips_insn, md_begin)
- (check_regno, match_float_constant, check_completed_insn, append_insn)
- (match_insn, match_mips16_insn, match_insns, macro_start)
- (macro_build_ldst_constoffset, load_register, macro, mips_ip)
- (mips16_ip, mips_set_option_string, md_parse_option)
- (mips_after_parse_args, mips_after_parse_args, md_pcrel_from)
- (md_apply_fix, s_align, s_option, s_mipsset, s_tls_rel_directive)
- (s_gpword, s_gpdword, s_ehword, s_nan, tc_gen_reloc, md_convert_frag)
- (s_mips_end, s_mips_ent, s_mips_frame, s_mips_mask, mips_parse_cpu):
- Start error messages with a lower-case letter. Do not end error
- messages with a period. Wrap long messages to 80 character-lines.
- Use "cannot" instead of "can't" and "can not".
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (imm_expr): Expand comment.
- (set_at, macro, mips16_macro): Expect imm_expr to be O_constant
- when populated.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (imm2_expr): Delete.
- (md_assemble, match_insn, imm2_expr.X_op, mips_ip): Update accordingly.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (report_bad_range, report_bad_field): Delete.
- (macro): Remove M_DEXT and M_DINS handling.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_arg_info): Replace allow_nonconst and
- lax_max with lax_match.
- (match_int_operand): Update accordingly. Don't report an error
- for !lax_match-only cases.
- (match_insn): Replace more_alts with lax_match and use it to
- initialize the mips_arg_info field. Add a complete_p parameter.
- Handle implicit VU0 suffixes here.
- (match_invalid_for_isa, match_insns, match_mips16_insns): New
- functions.
- (mips_ip, mips16_ip): Use them.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (match_expression): Report uses of registers here.
- Add a "must be an immediate expression" error. Handle elided offsets
- here rather than...
- (match_int_operand): ...here.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_arg_info): Remove soft_match.
- (match_out_of_range, match_not_constant): New functions.
- (match_const_int): Remove fallback parameter and check for soft_match.
- Use match_not_constant.
- (match_mapped_int_operand, match_addiusp_operand)
- (match_perf_reg_operand, match_save_restore_list_operand)
- (match_mdmx_imm_reg_operand): Update accordingly. Use
- match_out_of_range and set_insn_error* instead of as_bad.
- (match_int_operand): Likewise. Use match_not_constant in the
- !allows_nonconst case.
- (match_float_constant): Report invalid float constants.
- (match_insn, match_mips16_insn): Remove soft_match code. Rely on
- match_float_constant to check for invalid constants. Fail the
- match if match_const_int or match_float_constant return false.
- (mips_ip): Update accordingly.
- (mips16_ip): Likewise. Undo null termination of instruction name
- once lookup is complete.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_insn_error_format): New enum.
- (mips_insn_error): New struct.
- (insn_error): Change to a mips_insn_error.
- (clear_insn_error, set_insn_error_format, set_insn_error)
- (set_insn_error_i, set_insn_error_ss, report_insn_error): New
- functions.
- (mips_parse_argument_token, md_assemble, match_insn)
- (match_mips16_insn): Use them instead of manipulating insn_error
- directly.
- (mips_ip, mips16_ip): Likewise. Simplify control flow.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (normalize_constant_expr): Move further up file.
- (normalize_address_expr): Likewise.
- (match_insn, match_mips16_insn): New functions, split out from...
- (mips_ip, mips16_ip): ...here.
-
-2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (operand_reg_mask, match_operand): Handle
- OP_OPTIONAL_REG.
- (mips_ip, mips16_ip): Use mips_optional_operand_p to check
- for optional operands.
-
-2013-08-16 Alan Modra <amodra@gmail.com>
-
- * config/tc-ppc.c (ppc_elf_cons): Allow @l and other reloc
- modifiers generally.
-
-2013-08-16 Alan Modra <amodra@gmail.com>
-
- * config/tc-ppc.c (ppc_elf_lcomm): Use subsection 1.
-
-2013-08-14 David Edelsohn <dje.gcc@gmail.com>
-
- * config/tc-ppc.c (ppc_comm): Accept optional fourth .lcomm
- argument as alignment.
-
-2013-08-09 Nick Clifton <nickc@redhat.com>
-
- * config/tc-rl78.c (elf_flags): New variable.
- (enum options): Add OPTION_G10.
- (md_longopts): Add mg10.
- (md_parse_option): Parse -mg10.
- (rl78_elf_final_processing): New function.
- * config/tc-rl78.c (tc_final_processing): Define.
- * doc/c-rl78.texi: Document -mg10 option.
-
-2013-08-06 Jürgen Urban <JuergenUrban@gmx.de>
-
- * config/tc-mips.c (match_vu0_suffix_operand): Allow single-channel
- suffixes to be elided too.
- (mips_lookup_insn): Don't reject INSN2_VU0_CHANNEL_SUFFIX here.
- (mips_ip): Assume .xyzw if no VU0 suffix is specified. Allow +N
- to be omitted too.
-
-2013-08-05 John Tytgat <john@bass-software.com>
-
- * po/POTFILES.in: Regenerate.
-
-2013-08-05 Eric Botcazou <ebotcazou@adacore.com>
- Konrad Eisele <konrad@gaisler.com>
-
- * config/tc-sparc.c (sparc_arch_types): Add leon.
- (sparc_arch): Move sparc4 around and add leon.
- (sparc_target_format): Document -Aleon.
- * doc/c-sparc.texi: Likewise.
-
-2013-08-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_lookup_insn): Make length and opend signed.
-
-2013-08-04 Jürgen Urban <JuergenUrban@gmx.de>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (MAX_OPERANDS): Bump to 6.
- (RWARN): Bump to 0x8000000.
- (RTYPE_VI, RTYPE_VF, RTYPE_R5900_I, RTYPE_R5900_Q, RTYPE_R5900_R)
- (RTYPE_R5900_ACC): New register types.
- (RTYPE_MASK): Include them.
- (R5900_I_NAMES, R5900_Q_NAMES, R5900_R_NAMES, R5900_ACC_NAMES): New
- macros.
- (reg_names): Include them.
- (mips_parse_register_1): New function, split out from...
- (mips_parse_register): ...here. Add a channels_ptr parameter.
- Look for VU0 channel suffixes when nonnull.
- (reg_lookup): Update the call to mips_parse_register.
- (mips_parse_vu0_channels): New function.
- (OT_CHANNELS, OT_DOUBLE_CHAR): New mips_operand_token_types.
- (mips_operand_token): Add a "channels" field to the union.
- Extend the comment above "ch" to OT_DOUBLE_CHAR.
- (mips_parse_base_start): Match -- and ++. Handle channel suffixes.
- (mips_parse_argument_token): Handle channel suffixes here too.
- (validate_mips_insn): Handle INSN2_VU0_CHANNEL_SUFFIX.
- Ignore OP_VU0_MATCH_SUFFIX when calculating the used bits.
- Handle '#' formats.
- (md_begin): Register $vfN and $vfI registers.
- (operand_reg_mask): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX.
- (convert_reg_type): Handle OP_REG_VI, OP_REG_VF, OP_REG_R5900_I,
- OP_REG_R5900_Q, OP_REG_R5900_R and OP_REG_R5900_ACC.
- (match_vu0_suffix_operand): New function.
- (match_operand): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX.
- (macro): Use "+7" rather than "E" for LDQ2 and STQ2.
- (mips_lookup_insn): New function.
- (mips_ip): Use it. Allow "+K" operands to be elided at the end
- of an instruction. Handle '#' sequences.
-
-2013-08-03 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (macro, mips16_macro): Create an array of operand
- values and use it instead of sreg, treg, xreg, etc.
-
-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
- xcoff targets.
-
-2013-07-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/tc-s390.c (s390_machine): Don't force the .machine
- argument to lower case.
-
-2013-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/tc-arm.c (s_arm_arch_extension): Improve error message
- for invalid extension.
-
-2013-07-19 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/tc-aarch64.c (enum aarch64_abi_type): New enumeration tag.
- (AARCH64_ABI_LP64, AARCH64_ABI_ILP32): New enumerators.
- (aarch64_abi): New variable.
- (ilp32_p): Change to be a macro.
- (aarch64_opts): Remove the support for option -milp32 and -mlp64.
- (struct aarch64_option_abi_value_table): New struct.
- (aarch64_abis): New table.
- (aarch64_parse_abi): New function.
- (aarch64_long_opts): Add entry for -mabi=.
- * doc/as.texinfo (Target AArch64 options): Document -mabi.
- * doc/c-aarch64.texi: Likewise.
-
-2013-07-18 Jim Thomas <thomas@cfht.hawaii.edu>
-
- * config/tc-i386-intel.c (i386_intel_operand): Fixed signed vs
- unsigned comparison.
-
-2013-07-18 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com>
-
- * config/rx-defs.h: Add macros for RX100, RX200, RX600, and
- RX610.
- * config/rx-parse.y: (rx_check_float_support): Add function to
- check floating point operation support for target RX100 and
- RX200.
- * config/tc-rx.c: Add CPU options RX100, RX200, RX600, and RX610.
- * doc/c-rx.texi: Add -mcpu option to recognize macros for RX100,
- RX200, RX600, and RX610
-
-2013-07-18 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * config/tc-avr.c (md_show_usage): Add avrxmega2 to help text
-
-2013-07-18 Vishnu K.S <vishnu.k_s@atmel.com>
-
- * config/tc-avr.c: Make ata6289's ISA to AVR_ISA_AVR4.
- * doc/c-avr.texi: Likewise.
-
-2013-07-15 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (match_save_restore_list_operand): Avoid -Wformat
- error with older GCCs.
- (mips16_macro_build): Dereference args.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_prefer_vec_regno, mips_parse_register):
- New functions, split out from...
- (reg_lookup): ...here. Remove itbl support.
- (reglist_lookup): Delete.
- (mips_operand_token_type): New enum.
- (mips_operand_token): New structure.
- (mips_operand_tokens): New variable.
- (mips_add_token, mips_parse_base_start, mips_parse_argument_token)
- (mips_parse_arguments): New functions.
- (md_begin): Initialize mips_operand_tokens.
- (mips_arg_info): Add a token field. Remove optional_reg field.
- (match_char, match_expression): New functions.
- (match_const_int): Use match_expression. Remove "s" argument
- and return a boolean result. Remove O_register handling.
- (match_regno, match_reg, match_reg_range): New functions.
- (match_int_operand, match_mapped_int_operand, match_msb_operand)
- (match_reg_operand, match_reg_pair_operand, match_perf_reg_operand)
- (match_addiusp_operand, match_clo_clz_dest_operand)
- (match_lwm_swm_list_operand, match_entry_exit_operand)
- (match_save_restore_list_operand, match_mdmx_imm_reg_operand)
- (match_tied_reg_operand): Remove "s" argument and return a boolean
- result. Match tokens rather than text. Update calls to
- match_const_int. Rely on match_regno to call check_regno.
- (match_pcrel_operand, match_pc_operand): Replace "s" argument with
- "arg" argument. Return a boolean result.
- (parse_float_constant): Replace with...
- (match_float_constant): ...this new function.
- (match_operand): Remove "s" argument and return a boolean result.
- Update calls to subfunctions.
- (mips_ip, mips16_ip): Call mips_parse_arguments. Use match routines
- rather than string-parsing routines. Update handling of optional
- registers for token scheme.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (parse_float_constant): Split out from...
- (mips_ip): ...here.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (INSERT_BITS, INSERT_OPERAND, MIPS16_INSERT_OPERAND):
- Delete.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips32_to_16_reg_map): Delete.
- (match_entry_exit_operand): New function.
- (match_save_restore_list_operand): Likewise.
- (match_operand): Use them.
- (check_absolute_expr): Delete.
- (mips16_ip): Rewrite main parsing loop to use mips_operands.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c: Enable functions commented out in previous patch.
- (SKIP_SPACE_TABS): Move further up file.
- (mips32_to_micromips_reg_b_map, mips32_to_micromips_reg_c_map)
- (mips32_to_micromips_reg_d_map, mips32_to_micromips_reg_e_map)
- (ips32_to_micromips_reg_f_map, mips32_to_micromips_reg_g_map)
- (mips32_to_micromips_reg_l_map, mips32_to_micromips_reg_m_map)
- (mips32_to_micromips_reg_q_map, mips32_to_micromips_reg_n_map)
- (micromips_imm_b_map, micromips_imm_c_map): Delete.
- (mips_lookup_reg_pair): Delete.
- (macro): Use report_bad_range and report_bad_field.
- (mips_immed, expr_const_in_range): Delete.
- (mips_ip): Rewrite main parsing loop to use new functions.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_oddfpreg_ok): Move further up file.
- Change return type to bfd_boolean.
- (report_bad_range, report_bad_field): New functions.
- (mips_arg_info): New structure.
- (match_const_int, convert_reg_type, check_regno, match_int_operand)
- (match_mapped_int_operand, match_msb_operand, match_reg_operand)
- (match_reg_pair_operand, match_pcrel_operand, match_perf_reg_operand)
- (match_addiusp_operand, match_clo_clz_dest_operand)
- (match_lwm_swm_list_operand, match_mdmx_imm_reg_operand)
- (match_pc_operand, match_tied_reg_operand, match_operand)
- (check_completed_insn): New functions, commented out for now.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (insn_insert_operand): New function.
- (macro_build, mips16_macro_build): Put null character check
- in the for loop and convert continues to breaks. Use operand
- structures to handle constant operands.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (validate_mips_insn): Move further up file.
- Add insn_bits and decode_operand arguments. Use the mips_operand
- fields to work out which bits an operand occupies. Detect double
- definitions.
- (validate_micromips_insn): Move further up file. Call into
- validate_mips_insn.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips16_macro_build): Remove 'Y' case.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (macro_build): Take an int for "C", "k", "\\"
- and "~".
- (macro): Update accordingly.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (imm_expr, imm2_expr, offset_expr): Tweak commentary.
- (imm_reloc): Delete.
- (md_assemble): Remove imm_reloc handling.
- (mips_ip): Update commentary. Use offset_expr and offset_reloc
- rather than imm_expr and imm_reloc for 'i', 'j' and 'u'.
- Use a temporary array rather than imm_reloc when parsing
- constant expressions. Remove imm_reloc initialization.
- (mips16_ip): Update commentary. Use offset_expr and offset_reloc
- for the relaxable field. Use a relax_char variable to track the
- type of this field. Remove imm_reloc initialization.
-
-2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips16_ip): Handle "I".
-
-2013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
-
- * config/tc-mips.c (mips_flag_nan2008): New variable.
- (options): Add OPTION_NAN enum value.
- (md_longopts): Handle it.
- (md_parse_option): Likewise.
- (s_nan): New function.
- (mips_elf_final_processing): Handle EF_MIPS_NAN2008.
- (md_show_usage): Add -mnan.
-
- * doc/as.texinfo (Overview): Add -mnan.
- * doc/c-mips.texi (MIPS Opts): Document -mnan.
- (MIPS NaN Encodings): New node. Document .nan directive.
- (MIPS-Dependent): List the new node.
-
-2013-07-09 Tristan Gingold <gingold@adacore.com>
-
- * configure.com: Define HAVE_SYS_TYPES_H and HAVE_UNISTD_H
-
-2013-07-08 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_ip): Unconditionally parse an expression
- for 'A' and assume that the constant has been elided if the result
- is an O_register.
-
-2013-07-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (gprel16_reloc_p): New function.
- (macro_read_relocs): Assume BFD_RELOC_LO16 if all relocs are
- BFD_RELOC_UNUSED.
- (offset_high_part, small_offset_p): New functions.
- (nacro): Use them. Remove *_OB and *_DOB cases. For single-
- register load and store macros, handle the 16-bit offset case first.
- If a 16-bit offset is not suitable for the instruction we're
- generating, load it into the temporary register using
- ADDRESS_ADDI_INSN. Make the M_LI_DD code fall through into the
- M_L_DAB code once the address has been constructed. For double load
- and store macros, again handle the 16-bit offset case first.
- If the second register cannot be accessed from the same high
- part as the first, load it into AT using ADDRESS_ADDI_INSN.
- Fix the handling of LD in cases where the first register is the
- same as the base. Also handle the case where the offset is
- not 16 bits and the second register cannot be accessed from the
- same high part as the first. For unaligned loads and stores,
- fuse the offbits == 12 and old "ab" handling. Apply this handling
- whenever the second offset needs a different high part from the first.
- Construct the offset using ADDRESS_ADDI_INSN where possible,
- for offbits == 16 as well as offbits == 12. Use offset_reloc
- when constructing the individual loads and stores.
- (mips_ip): Set up imm_expr, imm2_expr, offset_expr, imm_reloc
- and offset_reloc before matching against a particular opcode.
- Handle elided 'A' constants. Allow 'A' constants to use
- relocation operators.
-
-2013-07-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (validate_mips_insn): Remove "[" and "]" handling.
- (mips_ip): Likewise. Do not set is_mdmx for INSN_5400 instructions.
- Check constraints on the VR5400 RZU.OB, SLL.OB and SRL.OB instructions.
-
-2013-07-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_ip): Preserve the real bit number for "+p".
- Require the msb to be <= 31 for "+s". Check that the size is <= 31
- for both "+s" and "+S".
-
-2013-07-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (validate_mips_insn, validate_micromips_insn):
- (mips_ip, mips16_ip): Handle "+i".
-
-2013-07-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips32_to_micromips_reg_h_map): Delete.
- (micromips_to_32_reg_h_map): Rename to...
- (micromips_to_32_reg_h_map1): ...this.
- (micromips_to_32_reg_i_map): Rename to...
- (micromips_to_32_reg_h_map2): ...this.
- (mips_lookup_reg_pair): New function.
- (gpr_write_mask, macro): Adjust after above renaming.
- (validate_micromips_insn): Remove "mi" handling.
- (mips_ip): Likewise. Parse both registers in a pair for "mh".
-
-2013-07-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (validate_mips_insn, validate_micromips_insn)
- (mips_ip): Remove "+D" and "+T" handling.
-
-2013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/tc-s390.c (md_gather_operands, md_apply_fix): Support new
- relocs.
-
-2013-07-03 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * config/tc-aarch64.c (reloc_table): Merge got_prel19 into got.
-
-2013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * config/tc-aarch64.c (md_apply_fix): Reorder case values.
- (aarch64_force_relocation): Likewise.
-
-2013-07-02 Alan Modra <amodra@gmail.com>
-
- * config/tc-ppc.c (ppc_elf_adjust_symtab): Don't make .TOC. weak.
-
-2013-06-26 Maciej W. Rozycki <macro@codesourcery.com>
-
- * doc/as.texinfo (Overview): Remove @samp from MIPS ISA names.
- * doc/c-mips.texi (MIPS Options): Remove @sc from MIPS ISA names.
- Replace @sc{mips16} with literal `MIPS16'.
- (MIPS ISA): Replace @sc{mips3} with literal `MIPS III'.
-
-2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/tc-aarch64.c (reloc_table): Replace
- BFD_RELOC_AARCH64_LD64_GOT_LO12_NC with
- BFD_RELOC_AARCH64_LD_GOT_LO12_NC; likewise to
- BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC and
- BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC.
- (md_apply_fix): Handle BFD_RELOC_AARCH64_LD_GOT_LO12_NC,
- BFD_RELOC_AARCH64_LD32_GOT_LO12_NC,
- BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC,
- BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC,
- BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC and
- BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC.
- (aarch64_force_relocation): Likewise.
-
-2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/tc-aarch64.c (ilp32_p): New static variable.
- (elf64_aarch64_target_format): Return the target according to the
- value of 'ilp32_p'.
- (md_begin): Determine 'mach' according to the value of 'ilp32_p'.
- (aarch64_opts): Add support for options '-milp32' and '-mlp64'.
- (aarch64_dwarf2_addr_size): New function.
- * config/tc-aarch64.h (aarch64_dwarf2_addr_size): New declaration.
- (DWARF2_ADDR_SIZE): New define.
-
-2013-06-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * doc/c-mips.texi: Use ISA instead of @sc{isa}.
-
-2013-06-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (validate_mips_insn): Use STYPE rather than SHAMT.
-
-2013-06-25 Maciej W. Rozycki <macro@codesourcery.com>
-
- * config/tc-mips.c (mips_set_options): Add insn32 member.
- (mips_opts): Initialize it.
- (NOP_INSN, NOP_INSN_SIZE): Handle insn32 mode.
- (options): Add OPTION_INSN32 and OPTION_NO_INSN32 enum values.
- (md_longopts): Add "minsn32" and "mno-insn32" options.
- (is_size_valid): Handle insn32 mode.
- (md_assemble): Pass instruction string down to macro.
- (brk_fmt): Add second dimension and insn32 mode initializers.
- (mfhl_fmt): Likewise.
- (BRK_FMT, MFHL_FMT): Handle insn32 mode.
- (macro_build) <'c'>: Handle microMIPS 32-bit BREAK encoding.
- (macro_build_jalr, move_register): Handle insn32 mode.
- (macro_build_branch_rs): Likewise.
- (macro): Handle insn32 mode.
- <M_JRADDIUSP>, <M_JRC>, <M_MOVEP>: New cases.
- (mips_ip): Handle insn32 mode.
- (md_parse_option): Handle OPTION_INSN32 and OPTION_NO_INSN32.
- (s_mipsset): Handle "insn32" and "noinsn32" pseudo-ops.
- (mips_handle_align): Handle insn32 mode.
- (md_show_usage): Add -minsn32 and -mno-insn32.
-
- * doc/as.texinfo (Target MIPS options): Add -minsn32 and
- -mno-insn32 options.
- (-minsn32, -mno-insn32): New options.
- * doc/c-mips.texi (MIPS Opts): Add -minsn32 and -mno-insn32
- options.
- (MIPS assembly options): New node. Document .set insn32 and
- .set noinsn32.
- (MIPS-Dependent): List the new node.
-
-2013-06-25 Nick Clifton <nickc@redhat.com>
-
- * config/tc-msp430.c (msp430_srcoperand): Do not allow the use of
- the PC in indirect addressing on 430xv2 parts.
- (msp430_operands): Add version test to hardware bug encoding
- restrictions.
-
-2013-06-24 Roland McGrath <mcgrathr@google.com>
-
- * config/tc-arm.c (parse_reg_list): Use skip_past_char for '}',
- so it skips whitespace before it.
- (s_arm_unwind_save_mmxwr, s_arm_unwind_save_mmxwcg): Likewise.
-
- * config/tc-arm.c (arm_symbol_chars): Include '{' and '}'.
- (arm_reg_parse_multi): Skip whitespace first.
- (parse_reg_list): Likewise.
- (parse_vfp_reg_list): Likewise.
- (s_arm_unwind_save_mmxwcg): Likewise.
-
-2013-06-24 Nick Clifton <nickc@redhat.com>
-
- PR gas/15623
- * config/tc-arm.c (do_t_smc): Mark as ending an IT block.
-
-2013-06-23 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c (mips_ip): Fix swapped bit numbers in comments.
-
-2013-06-23 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c: Assert that offsetT and valueT are at least
- 8 bytes in size.
- (GPR_SMIN, GPR_SMAX): New macros.
- (macro, mips_ip): Remove code for 4-byte valueT and offsetT.
-
-2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/tc-mips.c: Remove OBJ_ELF, OBJ_MAYBE_ELF and IS_ELF
- conditions. Remove any code deselected by them.
- (s_mips_frame, s_mips_mask): Handle ECOFF_DEBUGGING case first.
-
-2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- * NEWS: Note removal of ECOFF support.
- * doc/as.texinfo (--emulation): Update for the removal of MIPS ECOFF.
- * Makefile.am (TARG_ENV_HFILES): Remove config/te-lnews.h.
- (MULTI_CFILES): Remove config/e-mipsecoff.c.