X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gas%2FChangeLog;h=e2c8f534bf2e09d080fcb21572e57ac00de33e45;hb=01f48020363f1ca9b31df2ee0b2afedc38db1259;hp=6156e1e42963049b7404118ddbe721fbb1dc63e5;hpb=ce8ad8721313d288a05a95b62d95ca43db584ebb;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/ChangeLog b/gas/ChangeLog index 6156e1e429..307fb00f29 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,2675 @@ +2017-11-15 Tamar Christina + + * config/tc-arm.c (arm_ext_fp16_fml, fp16fml): New. + (do_neon_fmac_maybe_scalar_long): Use arm_ext_fp16_fml. + * doc/c-arm.texi (fp16, fp16fml): New. + * testsuite/gas/arm/armv8_2-a-fp16.d (fp16): Make fp16fml. + * testsuite/gas/arm/armv8_3-a-fp16.d (fp16): Make fp16fml. + * testsuite/gas/arm/armv8_2-a-fp16-illegal.d (fp16): Make fp16fml. + * testsuite/gas/arm/armv8_2-a-fp16-thumb2.d (fp16): Make fp16fml. + +2017-11-15 Nick Clifton + + PR 15152 + * testsuite/gas/avr/large-debug-line-table.d: Update expected + output. + * testsuite/gas/elf/dwarf2-11.d: Likewise. + * testsuite/gas/elf/dwarf2-12.d: Likewise. + * testsuite/gas/elf/dwarf2-13.d: Likewise. + * testsuite/gas/elf/dwarf2-14.d: Likewise. + * testsuite/gas/elf/dwarf2-15.d: Likewise. + * testsuite/gas/elf/dwarf2-16.d: Likewise. + * testsuite/gas/elf/dwarf2-17.d: Likewise. + * testsuite/gas/elf/dwarf2-18.d: Likewise. + * testsuite/gas/elf/dwarf2-5.d: Likewise. + * testsuite/gas/elf/dwarf2-6.d: Likewise. + * testsuite/gas/elf/dwarf2-7.d: Likewise. + +2017-11-15 Jan Beulich + + * testsuite/gas/i386/noextreg.s: Add tests for VEX-encoded GPR + insns with VEX.W set. + * testsuite/gas/i386/noextreg.d: Adjust expectations. + +2017-11-15 Jan Beulich + + * testsuite/gas/i386/noextreg.{s,d}: New. + * testsuite/gas/i386/i386.exp: Run new test. + +2017-11-15 Jan Beulich + + * testsuite/gas/i386/x86-64-reg.s: Add extended byte reg tests. + * testsuite/gas/i386/x86-64-reg.d, + testsuite/gas/i386/x86-64-reg-intel.d, + testsuite/gas/i386/ilp32/x86-64-reg.d, + testsuite/gas/i386/ilp32/x86-64-reg-intel.d: Adjust + expectations. + + * testsuite/gas/i386/x86-64-reg-bad.{s,l}: New. + * testsuite/gas/i386/i386.exp: Run new test. + +2017-11-14 Jim Wilson + + * testsuite/gas/lns/lns.exp (lns-common-1): Add riscv*-*-* to alt list. + +2017-11-14 Jan Beulich + + * testsuite/gas/i386/x86-64-xop.d, testsuite/gas/i386/xop.d, + testsuite/gas/i386/xop32reg.d: Adjust expectations. + +2017-11-14 Jan Beulich + + * testsuite/gas/i386/avx512bw.s: Add vpcmp* pseudo tests. + * testsuite/gas/i386/avx512bw_vl.s: Likewise. + * testsuite/gas/i386/avx512bw.d, testsuite/gas/i386/avx512bw-intel.d, + testsuite/gas/i386/avx512bw_vl.d, + testsuite/gas/i386/avx512bw_vl-intel.d: Adjust expectations. + +2017-11-14 Jan Beulich + + * testsuite/gas/i386/string-ok.s: Add a few more valid patterns. + Move bogus tests ... + * testsuite/gas/i386/string-bad.s: ... here. + * testsuite/gas/i386/string-bad.l: Adjust expectations. + * testsuite/gas/i386/string-ok.d: Likewise. + * testsuite/gas/i386/string-ok.e: Likewise. + +2017-11-13 Jan Beulich + + * config/tc-aarch64.c (R_Z_BHSDQ_VZP): Rename to ... + (R_Z_SP_BHSDQ_VZP): ... and include both stack pointer variants. + +2017-11-13 Jan Beulich + + * testsuite/gas/ia64/group-1.d: Adjust expectations. + * testsuite/gas/ia64/group-2.d: Likewise. + * testsuite/gas/ia64/xdata.d: Likewise. + +2017-11-13 Jan Beulich + + * config/tc-i386.c (process_suffix): Treat .shiftcount just like + .inoutportreg. + * testsuite/gas/i386/inval.s: Add ambiguous shift/rotate cases. + * testsuite/gas/i386/inval.l: Adjust expectations. + +2017-11-13 Jan Beulich + + * config/tc-i386-intel.c (i386_intel_simplify_register): Also + recognize RegRiz/RegEiz as index-only registers. + * testsuite/gas/i386/intel.s: Add tests exercising base/index + swapping. + * testsuite/gas/i386/intel.d: Adjust expectations. + +2017-11-13 Jan Beulich + + * config/tc-i386.c (i386_index_check): Break out ... + (i386_addressing_mode): ... this new function. + * config/tc-i386-intel.c (i386_intel_operand): Do base/index + swapping and the setting of .baseindex earlier. Call + i386_addressing_mode. + * testsuite/gas/i386/x86-64-inval.s: Add out of range + displacement case. + * testsuite/gas/i386/x86-64-inval.l: Adjust expectations. + +2017-11-09 Jim Wilson + + * testsuite/gas/elf/dwarf2-10.l: Accept optional line number in error. + +2017-11-06 Tamar Christina + + * gas/testsuite/gas/aarch64/dotproduct_armv8_4.s: New. + * gas/testsuite/gas/aarch64/dotproduct_armv8_4.d: New. + +2017-11-09 Tamar Christina + + * gas/testsuite/gas/aarch64/armv8_4-a-registers-illegal.d: New. + * gas/testsuite/gas/aarch64/armv8_4-a-registers-illegal.l: New. + * gas/testsuite/gas/aarch64/armv8_4-a-registers-illegal.s: New. + * gas/testsuite/gas/aarch64/armv8_4-a-registers.d: New. + * gas/testsuite/gas/aarch64/armv8_4-a-registers.s: New. + +2017-11-09 Tamar Christina + + * config/tc-aarch64.c (process_omitted_operand): + Add AARCH64_OPND_Va, AARCH64_OPND_SM3_IMM2 + and AARCH64_OPND_IMM_2. + (parse_operands): Add AARCH64_OPND_Va, AARCH64_OPND_SM3_IMM2, + AARCH64_OPND_IMM_2, AARCH64_OPND_MASK + and AARCH64_OPND_ADDR_OFFSET. + +2017-11-09 Tamar Christina + + * config/tc-aarch64.c (aarch64_arch_option_table): Add armv8.4-a. + (aarch64_features): Add SM4 and SHA3. + +2017-11-08 Tamar Christina + + * config/tc-aarch64.c + (aarch64_features): Include AES and SHA2 in CRYPTO. + Add SHA2 and AES. + +2017-11-08 Jiong Wang + Tamar Christina + + * config/tc-arm.c (arm_extensions): + (arm_archs): New entry for "armv8.4-a". + Add FPU_ARCH_DOTPROD_NEON_VFP_ARMV8. + (arm_ext_v8_2): New variable. + (enum arm_reg_type): New enumeration REG_TYPE_NSD. + (reg_expected_msgs): New entry for REG_TYPE_NSD. + (parse_typed_reg_or_scalar): Handle REG_TYPE_NSD. + (parse_scalar): Support REG_TYPE_VFS. + (enum operand_parse_code): New enumerations OP_RNSD and OP_RNSD_RNSC. + (parse_operands): Handle OP_RNSD and OP_RNSD_RNSC. + (NEON_SHAPE_DEF): New entries for DHH and DHS. + (neon_scalar_for_fmac_fp16_long): New function to generate Rm encoding + for new FP16 instructions in ARMv8.2-A. + (do_neon_fmac_maybe_scalar_long): New function to encode new FP16 + instructions in ARMv8.2-A. + (do_neon_vfmal): Wrapper function for vfmal. + (do_neon_vfmsl): Wrapper function for vfmsl. + (insns): New entries for vfmal and vfmsl. + * doc/c-arm.texi (-march): Document "armv8.4-a". + * testsuite/gas/arm/dotprod-mandatory.d: New test. + * testsuite/gas/arm/armv8_2-a-fp16.s: New test source. + * testsuite/gas/arm/armv8_2-a-fp16-illegal.s: New test source. + * testsuite/gas/arm/armv8_2-a-fp16.d: New test. + * testsuite/gas/arm/armv8_3-a-fp16.d: New test. + * testsuite/gas/arm/armv8_4-a-fp16.d: New test. + * testsuite/gas/arm/armv8_2-a-fp16-thumb2.d: New test. + * testsuite/gas/arm/armv8_2-a-fp16-illegal.d: New test. + * testsuite/gas/arm/armv8_2-a-fp16-illegal.l: New error file. + +2017-11-08 Alan Modra + + * config/tc-xtensa.c (finish_vinsn): Properly pluralize error message. + +2017-11-07 Jim Wilson + + * config/tc-riscv.c (append_insn): Call frag_wane and frag_new at + end for linker optimizable relocs. + * testsuite/gas/riscv/eh-relocs.d: New. + * testsuite/gas/riscv/eh-relocs.s: New. + * testsuite/gas/riscv/riscv.exp: Run eh-relocs test. + +2017-11-07 Palmer Dabbelt + + * testsuite/gas/riscv/satp.d: New test. + testsuite/gas/riscv/satp.s: Likewise. + testsuite/gas/riscv/riscv.exp: Likewise. + config/tc-riscv.c (md_begin): Handle CSR aliases. + +2017-11-07 Tamar Christina + + * config/tc-arm.c (arm_cpus): + Change FPU_ARCH_CRYPTO_NEON_VFP_ARMV8 + into FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD. + +2017-11-07 Alan Modra + + * read.c (assemble_one, s_bundle_unlock): Formatting. + Consistently add comma and "bytes" to error message. + * testsuite/gas/i386/bundle-bad.l: Adjust to suit. + +2017-11-07 Alan Modra + + * testsuite/gas/arm/got_prel.d, + * testsuite/gas/elf/dwarf2-1.d, + * testsuite/gas/elf/dwarf2-2.d, + * testsuite/gas/elf/dwarf2-3.d, + * testsuite/gas/elf/dwarf2-5.d, + * testsuite/gas/elf/dwarf2-6.d, + * testsuite/gas/i386/debug1.d, + * testsuite/gas/i386/dw2-compress-1.d, + * testsuite/gas/i386/dw2-compress-3a.d, + * testsuite/gas/i386/dw2-compress-3b.d, + * testsuite/gas/i386/dw2-compressed-1.d, + * testsuite/gas/i386/dw2-compressed-3a.d, + * testsuite/gas/i386/dw2-compressed-3b.d, + * testsuite/gas/i386/ilp32/x86-64-localpic.d, + * testsuite/gas/i386/localpic.d, + * testsuite/gas/i386/x86-64-localpic.d, + * testsuite/gas/ia64/pr13167.d, + * testsuite/gas/mips/loc-swap-2.d, + * testsuite/gas/mips/loc-swap.d, + * testsuite/gas/mips/micromips@loc-swap-2.d, + * testsuite/gas/mips/micromips@loc-swap.d, + * testsuite/gas/mips/mips16-dwarf2-n32.d, + * testsuite/gas/mips/mips16-dwarf2.d, + * testsuite/gas/mips/mips16@loc-swap-2.d, + * testsuite/gas/mips/mips16@loc-swap.d, + * testsuite/gas/mips/mips16e@loc-swap.d, + * testsuite/gas/mmix/bspec-1.d, + * testsuite/gas/mmix/bspec-2.d, + * testsuite/gas/tic6x/unwind-1.d, + * testsuite/gas/tic6x/unwind-2.d, + * testsuite/gas/tic6x/unwind-3.d: Update for pluralization + fixes. + +2017-11-07 Alan Modra + + * as.c (main): Properly pluralize messages. + * frags.c (frag_grow): Likewise. + * read.c (emit_expr_with_reloc, emit_expr_fix): Likewise. + (parse_bitfield_cons): Likewise. + * write.c (fixup_segment, compress_debug, write_contents): Likewise. + (relax_segment): Likewise. + * config/tc-arm.c (s_arm_elf_cons): Likewise. + * config/tc-cr16.c (l_cons): Likewise. + * config/tc-i370.c (i370_elf_cons): Likewise. + * config/tc-m68k.c (m68k_elf_cons): Likewise. + * config/tc-msp430.c (msp430_operands): Likewise. + * config/tc-s390.c (s390_elf_cons, s390_literals): Likewise. + * config/tc-mcore.c (md_apply_fix): Likewise. + * config/tc-tic54x.c (md_assemble): Likewise. + * config/tc-xtensa.c (xtensa_elf_cons): Likewise. + (xg_expand_assembly_insn): Likewise. + * config/xtensa-relax.c (build_transition): Likewise. + +2017-11-07 Alan Modra + + * asintl.h (textdomain, bindtextdomain): Use safer "do nothing". + (ngettext, dngettext, dcngettext): Define when !ENABLE_NLS. + +2017-11-03 Siddhesh Poyarekar + Jim Wilson + + * config/tc-aarch64.c (aarch64_cpus): Add saphira. + * doc/c-aarch64.texi: Likewise. + +2017-11-02 Thomas Preud'homme + + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v6t2-1.d: Add + --disassembler-options=force-thumb to objdump options. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v6t2-2.d: Likewise. + +2017-11-01 James Bowman + + * config/tc-ft32.c (md_assemble): Add relaxation reloc + BFD_RELOC_FT32_RELAX. + (md_longopts): Add "norelax" and "no-relax". + (md_apply_fix): Add reloc BFD_RELOC_FT32_DIFF32. + (relaxable_section, ft32_validate_fix_sub, ft32_force_relocation, + ft32_allow_local_subtract): New function. + * config/tc-ft32.h: Remove unused MD_PCREL_FROM_SECTION. + * testsuite/gas/ft32/insnsc.s: New test exercising all FT32B + shortcodes. + * testsuite/gas/ft32/insnsc.d: New driver file. + * testsuite/gas/all/gas.exp: Update. + * testsuite/gas/ft32/ft32.exp: Run the new test. + * testsuite/gas/ft32/insn.d: Update. + * testsuite/gas/elf/dwarf2-11.d: Update. + * testsuite/gas/elf/dwarf2-12.d: Update. + * testsuite/gas/elf/dwarf2-13.d: Update. + * testsuite/gas/elf/dwarf2-14.d: Update. + * testsuite/gas/elf/dwarf2-15.d: Update. + * testsuite/gas/elf/dwarf2-16.d: Update. + * testsuite/gas/elf/dwarf2-17.d: Update. + * testsuite/gas/elf/dwarf2-18.d: Update. + * testsuite/gas/elf/dwarf2-3.d: Update. + * testsuite/gas/elf/dwarf2-5.d: Update. + * testsuite/gas/elf/dwarf2-7.d: Update. + +2017-11-01 Thomas Preud'homme + + * config/tc-arm.c (arm_ext_v2): Define to ARM_EXT_V2 feature bit. + * testsuite/gas/arm/copro.s: Split into + * testsuite/gas/arm/copro-arm_v2plus-thumb_v6t2plus.s: This while + changing it to unified syntax and + * testsuite/gas/arm/copro-arm_v5plus-thumb_v6t2plus.s: this and ... + * testsuite/gas/arm/copro-arm_v5teplus-thumb_v6t2plus.s: This and ... + * testsuite/gas/arm/copro-arm_v6plus-thumb_v6t2plus.s: This. + * testsuite/gas/arm/copro.d: Split into ... + * testsuite/gas/arm/copro-arm_v2plus-arm_v2.d: This but target ARMv2 + and ... + * testsuite/gas/arm/copro-arm_v5plus-arm_v5.d: this but target ARMv5 + and ... + * testsuite/gas/arm/copro-arm_v5teplus-arm_v5te.d: This but target + ARMv5TE and ... + * testsuite/gas/arm/copro-arm_v6plus-arm_v6.d: This but target ARMv6. + * testsuite/gas/arm/copro-arm_v2plus-arm_v1.d: New testcase. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v4t-1.d: New testcase. + * testsuite/gas/arm/copro-arm_v2plus-thumb_v6t2plus-unavail.l: Expected + errors for the above two testcases. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v6t2-1.d: New testcase. + * testsuite/gas/arm/copro-arm_v5plus-arm_v4.d: New testcase. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v4t-2.d: New testcase. + * testsuite/gas/arm/copro-arm_v5plus-thumb_v6t2plus-unavail.l: + Expected errors for the above two testcases. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v6t2-2.d: New testcase. + * testsuite/gas/arm/copro-arm_v5teplus-arm_v5.d: New testcase. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v4t-3.d: New testcase. + * testsuite/gas/arm/copro-arm_v5teplus-thumb_v6t2plus-unavail.l: + Expected errors for the above two testcases. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v6t2-3.d: New testcase. + * testsuite/gas/arm/copro-arm_v6plus-arm_v5te.d: New testcase. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v4t-4.d: New testcase. + * testsuite/gas/arm/copro-arm_v6plus-thumb_v6t2plus-unavail.l: + Expected errors for the above two testcases. + * testsuite/gas/arm/copro-thumb_v6t2plus-thumb_v6t2-4.d: New testcase. + +2017-10-26 H.J. Lu + + PR gas/22352 + * config/tc-i386.c (check_VecOperands): Also check XMM register + for invalid register in AVX512 gathers. + * testsuite/gas/i386/vgather-check.s: Add tests for AVX512 + gathers with XMM register. + * testsuite/gas/i386/x86-64-vgather-check.s: Likewise. + * testsuite/gas/i386/vgather-check-error.l: Updated. + * testsuite/gas/i386/vgather-check-none.d: Likewise. + * testsuite/gas/i386/vgather-check-warn.d: Likewise. + * testsuite/gas/i386/vgather-check-warn.e: Likewise. + * testsuite/gas/i386/vgather-check.d: Likewise. + * testsuite/gas/i386/x86-64-vgather-check-error.l: Likewise. + * testsuite/gas/i386/x86-64-vgather-check-none.d: Likewise. + * testsuite/gas/i386/x86-64-vgather-check-warn.d: Likewise. + * testsuite/gas/i386/x86-64-vgather-check-warn.e: Likewise. + * testsuite/gas/i386/x86-64-vgather-check.d: Likewise. + +2017-10-26 Hans-Peter Nilsson + + * testsuite/gas/all/fill-1.s: Use L2 rather than .L2. + +2017-10-25 Alan Modra + + PR 22348 + * config/tc-crx.c (instruction, output_opcode): Make static. + (relocatable, ins_parse, cur_arg_num): Likewise. + (parse_insn): Adjust for renamed opcodes globals. + (check_range): Likewise + +2017-10-25 Alan Modra + + * testsuite/gas/all/fill-1.d: Exclude tic4x and tic54x. + * testsuite/gas/all/fill-1.s: Use L1 rather than .L1. + +2017-10-24 Andrew Waterman + + * testsuite/gas/riscv/c-addi16sp-fail.d: New test. + * testsuite/gas/riscv/c-addi16sp-fail.l: Likewise. + * testsuite/gas/riscv/c-addi16sp-fail.s: Likewise. + * testsuite/gas/riscv/c-addi4spn-fail.d: Likewise. + * testsuite/gas/riscv/c-addi4spn-fail.l: Likewise. + * testsuite/gas/riscv/c-addi4spn-fail.s: Likewise. + * testsuite/gas/riscv/riscv.exp: Add new tests. + +2017-10-24 Andrew Waterman + + * testsuite/gas/riscv/c-lui-fail.d: New testcase. + * gas/testsuite/gas/riscv/c-lui-fail.l: Likewise. + * gas/testsuite/gas/riscv/c-lui-fail.s: Likewise. + * gas/testsuite/gas/riscv/riscv.exp: Likewise. + +2017-10-24 H.J. Lu + + * config/tc-i386.c (md_pseudo_table): Add .code64 directive + only if BFD64 is defined. + * testsuite/gas/i386/code64-inval.l: New file. + * gas/testsuite/gas/i386/code64-inval.s: Likewise. + * gas/testsuite/gas/i386/code64.d: Likewise. + * gas/testsuite/gas/i386/code64.s: Likewise. + * testsuite/gas/i386/i386.exp: Run mixed-mode-reloc32, + att-regs, intel-regs, intel-expr and string-ok tests only if + assembler supports x86-64. Run code64 and code64-inval. + +2017-10-23 Palmer Dabbelt + + * config/tc-riscv.c (riscv_frag_align_code): Align code by 4 + bytes on non-RVC systems. + +2017-10-23 Maciej W. Rozycki + + * config/tc-mips.c (mips_elf_final_processing): Don't set + EF_MIPS_ABI2 in `e_flags'. + +2017-10-23 Igor Tsimbalist + + * config/tc-i386.c (cpu_arch): Add .avx512_bitalg. + (cpu_noarch): noavx512_bitalg. + * doc/c-i386.texi: Document .avx512_bitalg, noavx512_bitalg. + * testsuite/gas/i386/i386.exp: Add AVX512_BITALG tests. + * testsuite/gas/i386/avx512f_bitalg-intel.d: New test. + * testsuite/gas/i386/avx512f_bitalg.d: Likewise. + * testsuite/gas/i386/avx512f_bitalg.s: Likewise. + * testsuite/gas/i386/avx512vl_bitalg-intel.d: Likewise. + * testsuite/gas/i386/avx512vl_bitalg.d: Likewise. + * testsuite/gas/i386/avx512vl_bitalg.s: Likewise. + * testsuite/gas/i386/x86-64-avx512f_bitalg-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx512f_bitalg.d: Likewise. + * testsuite/gas/i386/x86-64-avx512f_bitalg.s: Likewise. + * testsuite/gas/i386/x86-64-avx512vl_bitalg-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vl_bitalg.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vl_bitalg.s: Likewise. + +2017-10-23 Igor Tsimbalist + + * config/tc-i386.c (cpu_arch): Add .avx512_vnni. + (cpu_noarch): Add noavx512_vnni. + * doc/c-i386.texi: Document .avx512_vnni. + * testsuite/gas/i386/i386.exp: Add AVX512_VNNI tests. + * testsuite/gas/i386/avx512vnni-intel.d: New test. + * testsuite/gas/i386/avx512vnni.d: Likewise. + * testsuite/gas/i386/avx512vnni.s: Likewise. + * testsuite/gas/i386/avx512vnni_vl-intel.d: Likewise. + * testsuite/gas/i386/avx512vnni_vl.d: Likewise. + * testsuite/gas/i386/avx512vnni_vl.s: Likewise. + * testsuite/gas/i386/x86-64-avx512vnni-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vnni.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vnni.s: Likewise. + * testsuite/gas/i386/x86-64-avx512vnni_vl-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vnni_vl.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vnni_vl.s: Likewise. + +2017-10-23 Igor Tsimbalist + + * config/tc-i386.c (cpu_arch): Add VPCLMULQDQ. + * doc/c-i386.texi: Document VPCLMULQDQ. + * testsuite/gas/i386/i386.exp: Run VPCLMULQDQ tests. + * testsuite/gas/i386/avx512f_vpclmulqdq-intel.d: New test. + * testsuite/gas/i386/avx512f_vpclmulqdq-wig.s: Ditto. + * testsuite/gas/i386/avx512f_vpclmulqdq-wig1-intel.d: Ditto. + * testsuite/gas/i386/avx512f_vpclmulqdq-wig1.d: Ditto. + * testsuite/gas/i386/avx512f_vpclmulqdq.d: Ditto. + * testsuite/gas/i386/avx512f_vpclmulqdq.s: Ditto. + * testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d: Ditto. + * testsuite/gas/i386/avx512vl_vpclmulqdq-wig.s: Ditto. + * testsuite/gas/i386/avx512vl_vpclmulqdq-wig1-intel.d: Ditto. + * testsuite/gas/i386/avx512vl_vpclmulqdq-wig1.d: Ditto. + * testsuite/gas/i386/avx512vl_vpclmulqdq.d: Ditto. + * testsuite/gas/i386/avx512vl_vpclmulqdq.s: Ditto. + * testsuite/gas/i386/vpclmulqdq-intel.d: Ditto. + * testsuite/gas/i386/vpclmulqdq.d: Ditto. + * testsuite/gas/i386/vpclmulqdq.s: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-wig.s: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-wig1-intel.d: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-wig1.d: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-wig.s: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-wig1-intel.d: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-wig1.d: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s: Ditto. + * testsuite/gas/i386/x86-64-vpclmulqdq-intel.d: Ditto. + * testsuite/gas/i386/x86-64-vpclmulqdq.d: Ditto. + * testsuite/gas/i386/x86-64-vpclmulqdq.s: Ditto. + +2017-10-23 Igor Tsimbalist + + * config/tc-i386.c (cpu_arch): Add VAES. + * doc/c-i386.texi: Document VAES. + * testsuite/gas/i386/i386.exp: Run VAES tests. + * testsuite/gas/i386/avx512f_vaes-intel.d: New test. + * testsuite/gas/i386/avx512f_vaes-wig.s: Ditto. + * testsuite/gas/i386/avx512f_vaes-wig1-intel.d: Ditto. + * testsuite/gas/i386/avx512f_vaes-wig1.d: Ditto. + * testsuite/gas/i386/avx512f_vaes.d: Ditto. + * testsuite/gas/i386/avx512f_vaes.s: Ditto. + * testsuite/gas/i386/avx512vl_vaes-intel.d: Ditto. + * testsuite/gas/i386/avx512vl_vaes-wig.s: Ditto. + * testsuite/gas/i386/avx512vl_vaes-wig1-intel.d: Ditto. + * testsuite/gas/i386/avx512vl_vaes-wig1.d: Ditto. + * testsuite/gas/i386/avx512vl_vaes.d: Ditto. + * testsuite/gas/i386/avx512vl_vaes.s: Ditto. + * testsuite/gas/i386/vaes-intel.d: Ditto. + * testsuite/gas/i386/vaes.d: Ditto. + * testsuite/gas/i386/vaes.s: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vaes-intel.d: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vaes-wig.s: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vaes-wig1-intel.d: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vaes-wig1.d: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vaes.d: Ditto. + * testsuite/gas/i386/x86-64-avx512f_vaes.s: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vaes-intel.d: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vaes-wig.s: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vaes-wig1-intel.d: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vaes-wig1.d: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vaes.d: Ditto. + * testsuite/gas/i386/x86-64-avx512vl_vaes.s: Ditto. + * testsuite/gas/i386/x86-64-vaes-intel.d: Ditto. + * testsuite/gas/i386/x86-64-vaes.d: Ditto. + * testsuite/gas/i386/x86-64-vaes.s: Ditto. + +2017-10-23 Igor Tsimbalist + + * config/tc-i386.c (cpu_arch): Add .gfni. + * doc/c-i386.texi: Document .gfni. + * testsuite/gas/i386/i386.exp: Add GFNI tests. + * testsuite/gas/i386/avx.s: New GFNI test. + * testsuite/gas/i386/x86-64-avx.s: Likewise. + * testsuite/gas/i386/avx.d: Adjust. + * testsuite/gas/i386/avx-intel.d: Likewise + * testsuite/gas/i386/ilp32/x86-64-avx-intel.d: Likewise. + * testsuite/gas/i386/ilp32/x86-64-avx.d: Likewise. + * testsuite/gas/i386/avx512f_gfni-intel.d: New test. + * testsuite/gas/i386/avx512f_gfni.d: Likewise. + * testsuite/gas/i386/avx512f_gfni.s: Likewise. + * testsuite/gas/i386/avx512vl_gfni-intel.d: Likewise. + * testsuite/gas/i386/avx512vl_gfni.d: Likewise. + * testsuite/gas/i386/avx512vl_gfni.s: Likewise. + * testsuite/gas/i386/gfni-intel.d: Likewise. + * testsuite/gas/i386/gfni.d: Likewise. + * testsuite/gas/i386/gfni.s: Likewise. + * testsuite/gas/i386/x86-64-avx512f_gfni-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx512f_gfni.d: Likewise. + * testsuite/gas/i386/x86-64-avx512f_gfni.s: Likewise. + * testsuite/gas/i386/x86-64-avx512vl_gfni-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vl_gfni.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vl_gfni.s: Likewise. + * testsuite/gas/i386/x86-64-avx_gfni-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx_gfni.d: Likewise. + * testsuite/gas/i386/x86-64-avx_gfni.s: Likewise. + * testsuite/gas/i386/x86-64-gfni-intel.d: Likewise. + * testsuite/gas/i386/x86-64-gfni.d: Likewise. + * testsuite/gas/i386/x86-64-gfni.s: Likewise. + +2017-10-23 Igor Tsimbalist + + * config/tc-i386.c (cpu_arch): Add .avx512_vbmi2. + (cpu_noarch): noavx512_vbmi2. + * doc/c-i386.texi: Document .avx512_vbmi2, noavx512_vbmi2. + * testsuite/gas/i386/i386.exp: Add AVX512_VBMI2 tests. + * testsuite/gas/i386/avx512vbmi2-intel.d: New test. + * testsuite/gas/i386/avx512vbmi2.d: Likewise. + * testsuite/gas/i386/avx512vbmi2.s: Likewise. + * testsuite/gas/i386/avx512vbmi2_vl-intel.d: Likewise. + * testsuite/gas/i386/avx512vbmi2_vl.d: Likewise. + * testsuite/gas/i386/avx512vbmi2_vl.s: Likewise. + * testsuite/gas/i386/x86-64-avx512vbmi2-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vbmi2.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vbmi2.s: Likewise. + * testsuite/gas/i386/x86-64-avx512vbmi2_vl-intel.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vbmi2_vl.d: Likewise. + * testsuite/gas/i386/x86-64-avx512vbmi2_vl.s: Likewise. + +2017-10-22 Hans-Peter Nilsson + + PR gas/22304 + * testsuite/gas/cris/range-err-1.s: Remove quotes left from last edit. + +2017-10-20 Nick Clifton + + PR 22324 + * read.c (s_rept): Use size_t type for count parameter. + (do_repeat): Change type of count parameter to size_t. + Issue an error is the count parameter is negative. + (do_repeat_with_expression): Likewise. + * read.h: Update prototypes for do_repeat and + do_repeat_with_expression. + * doc/as.texinfo (Rept): Document that a zero count is allowed but + negative counts are not. + * config/tc-rx.c (rx_rept): Use size_t type for count parameter. + * config/tc-tic54x.c (tic54x_loop): Cast count parameter to size_t + type. + * testsuite/gas/macros/end.s: Add a test using a negative repeat + count. + * testsuite/gas/macros/end.l: Add expected error message. + +2017-10-19 Palmer Dabbelt + + * config/tc-riscv.c (md_apply_fix): Mark + BFD_RELOC_RISCV_PCREL_HI20 as relaxable when relaxations are + enabled. + +2017-10-19 Nick Clifton + + PR 21621 + * config/tc-avr.h (struct avr_frag_data): Add prev_opcode field. + (TC_FRAG_INIT): Define. + (avr_frag_init): Add prototype. + * config/tc-avr.c (avr_frag_init): New function. + (avr_operands): Replace static local 'prev' variable with + prev_opcode field in current frag. + * testsuite/gas/avr/pr21621.s: New test source file. + * testsuite/gas/avr/pr21621.d: New test driver file. + * testsuite/gas/avr/pr21621.s: New test error output file. + +2017-10-19 Andreas Krebbel + + * testsuite/gas/all/fill-1.s: Use normal labels. Change .text to + .data. Pick different values. Use .dc.w instead of .word. + * testsuite/gas/all/fill-1.d: New objdump output check. + * testsuite/gas/all/gas.exp: Use run_dump_test to execute fill-1 + testcase. + +2017-10-18 Palmer Dabbelt + + * testsuite/gas/all/align.d: Mark as unsupported on RISC-V. + testsuite/gas/all/relax.d: Likewise. + testsuite/gas/all/sleb128-2.d: Likewise. + testsuite/gas/all/sleb128-4.d: Likewise. + testsuite/gas/all/sleb128-5.d: Likewise. + testsuite/gas/all/sleb128-7.d: Likewise. + testsuite/gas/elf/section11.d: Likewise. + testsuite/gas/all/gas.exp (diff1.s): Likewise. + +2017-10-18 Nick Clifton + + PR gas/22304 + * testsuite/gas/cris/range-err-1.s: Remove spurious xfails. + * testsuite/gas/cris/cris.exp: Expect the shexpr-1 test to pass. + +2017-10-18 Nick Clifton + + * po/sv.po: Updated Swedish translation. + +2017-10-16 Sandra Loosemore + Henry Wong + + * config/tc-nios2.c (nios2_translate_pseudo_insn): Check for + correct number of arguments. + (md_assemble): Handle failure of nios2_translate_pseudo_insn. + * testsuite/gas/nios2/illegal_pseudoinst.l: New file. + * testsuite/gas/nios2/illegal_pseudoinst.s: New file. + * testsuite/gas/nios2/nios2.exp: Add illegal_pseudoinst test. + +2017-10-12 James Bowman + + * config/tc-ft32.c (md_assemble): Replace FT32_FLD_K8 with + K15. + (md_apply_fix, tc_gen_reloc): Add BFD_RELOC_FT32_15. + +2017-10-11 Nick Clifton + + PR 21977 + * listing.c (listing_newline): Use the name of the current + physical input file, rather than the current logical input file, + unless including high level source in the listing. + * input-scrub.c (as_where_physical): New function. Returns the + name of the current physical input file. + * as.h: Add prototype for as_where_physical. + +2017-10-09 Andreas Krebbel + + * testsuite/gas/s390/zarch-arch12.d (prno, tpei, irbm): New + instructions added. + * testsuite/gas/s390/zarch-arch12.s: Likewise. + * testsuite/gas/s390/zarch-z13.d: Rename ppno to prno. + +2017-10-09 Andreas Krebbel + + * testsuite/gas/all/fill-1.s: Replace nop with .word 42 + +2017-10-09 Andreas Krebbel + + * read.c (s_fill): Invoke expression instead of + get_known_segmented_expression. + * testsuite/gas/all/fill-1.s: New testcase. + * testsuite/gas/all/gas.exp: Run fill-1 testcase + +2017-10-05 Nick Clifton + + PR 22133 + * config/tc-msp430.c (parse_exp): Skip an 'h' suffix to constant + expressions. + (msp430_srcoperand): Check that the entire text was parsed by + parse_exp. + (msp430_operands): Likewise. + * testsuite/gas/msp430/pr22133.s: New test file. + * testsuite/gas/msp430/pr22133.d: New test driver. + * testsuite/gas/msp430/pr22133.s: Expected error output. + * testsuite/gas/msp430/msp430.exp: Run the new test. + +2017-10-04 H.J. Lu + + PR gas/21167 + * testsuite/gas/elf/elf.exp: Run group3. + * testsuite/gas/elf/group3.d: New file. + * testsuite/gas/elf/group3.s: Likewise. + +2017-10-05 Alan Modra + + PR 21167 + * config/obj-elf.c (struct group_list): Delete elt_count. + (groups): New static. + (build_group_lists): Don't count elements. + (elf_adjust_symtab): Use "groups" rather than auto "list". Set up + pointer from group member to SHT_GROUP section. Don't size + SHT_GROUP section or clean up here.. + (elf_frob_file_after_relocs): ..do so here instead. + * testsuite/gas/arc/jli-1.d, + * testsuite/gas/elf/groupautob.d, + * testsuite/gas/mips/compact-eh-eb-2.d, + * testsuite/gas/mips/compact-eh-eb-5.d, + * testsuite/gas/mips/compact-eh-el-2.d, + * testsuite/gas/mips/compact-eh-el-5.d: Adjust. + +2017-10-01 Alexander Fedotov + + * testsuite/gas/ppc/vle-mult-ld-st-insns.s: New file: Tests the + support for the VLE multiple load/store instructions. + * testsuite/gas/ppc/vle-mult-ld-st-insns.d: New file: Test + driver. + * testsuite/gas/ppc/ppc.exp: Run it. + +2017-09-27 Nick Clifton + + PR 22179 + * testsuite/gas/riscv/fmv.x.s: New file: Tests the support for the + renamed fmv.x.s and fmv.s.x instructions. + * testsuite/gas/riscv/fmv.x.d: New file: Test driver. + +2017-09-21 Maciej W. Rozycki + + * testsuite/gas/mips/elf_mach_5900.d: New test. + * testsuite/gas/mips/mips.exp: Run it. + +2017-09-21 James Cowgill + + PR gas/21762 + * config/tc-mips.c (s_mips_stab): Insert call to + file_mips_check_options. + * testsuite/gas/mips/micromips@stabs-symbol-type.d: New test. + * testsuite/gas/mips/mips.exp: Run the new tests. + * testsuite/gas/mips/mips16@stabs-symbol-type.d: New test. + * testsuite/gas/mips/stabs-symbol-type.d: New test. + * testsuite/gas/mips/stabs-symbol-type.s: New test source. + +2017-09-21 Alan Modra + + * config/tc-ppc.h (EH_FRAME_ALIGNMENT): Define. + +2017-09-14 Alan Modra + + PR 22127 + * write.c (resolve_reloc_expr_symbols): Don't segfault when + sec has been set to NULL. + +2017-09-09 H.J. Lu + + * config/tc-i386.c (NOTRACK_PREFIX): Removed. + (REX_PREFIX): Updated. + (MAX_PREFIXES): Likewise. + (parse_insn): Remove restriction on NOTRACK prefix position. + * testsuite/gas/i386/notrack.s: Add tests with NOTRACK prefix + before other prefixes. + * testsuite/gas/i386/x86-64-notrack.s: Likewise. + * testsuite/gas/i386/notrackbad.s: Remove tests with NOTRACK + prefix before other prefixes. + * testsuite/gas/i386/x86-64-notrackbad.s: Likewise. + * testsuite/gas/i386/notrack-intel.d: Updated. + * testsuite/gas/i386/notrack.d: Likewise. + * testsuite/gas/i386/notrackbad.l: Likewise. + * testsuite/gas/i386/x86-64-notrack-intel.d: Likewise. + * testsuite/gas/i386/x86-64-notrack.d: Likewise. + * testsuite/gas/i386/x86-64-notrackbad.l: Likewise. + +2017-09-07 Palmer Dabbelt + + * config/tc-riscv.c (riscv_frag_align_code): Emit the entire + alignment sequence inside R_RISCV_ALIGN. + +2017-09-05 Alexander Fedotov + Edmar Wienskoski + + * config/tc-aarch64.c (aarch64_cpus): Enable DOTPROD for + cortex-a55 and cortx-a75. + +2017-08-30 Maciej W. Rozycki + + * testsuite/gas/mips/branch-addend-micromips.d: New test. + * testsuite/gas/mips/branch-addend-micromips-n32.d: New test. + * testsuite/gas/mips/branch-addend-micromips-n64.d: New test. + * testsuite/gas/mips/branch-addend-micromips.s: New test source. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2017-08-30 Maciej W. Rozycki + + * config/tc-mips.c (md_convert_frag): Respect + `mips_ignore_branch_isa'. + * testsuite/gas/mips/branch-local-5.d: New test. + * testsuite/gas/mips/branch-local-n32-5.d: New test. + * testsuite/gas/mips/branch-local-n64-5.d: New test. + * testsuite/gas/mips/branch-local-6.d: New test. + * testsuite/gas/mips/branch-local-n32-6.d: New test. + * testsuite/gas/mips/branch-local-n64-6.d: New test. + * testsuite/gas/mips/branch-local-7.d: New test. + * testsuite/gas/mips/branch-local-n32-7.d: New test. + * testsuite/gas/mips/branch-local-n64-7.d: New test. + * testsuite/gas/mips/branch-local-ignore-5.d: New test. + * testsuite/gas/mips/branch-local-ignore-n32-5.d: New test. + * testsuite/gas/mips/branch-local-ignore-n64-5.d: New test. + * testsuite/gas/mips/branch-local-ignore-6.d: New test. + * testsuite/gas/mips/branch-local-ignore-n32-6.d: New test. + * testsuite/gas/mips/branch-local-ignore-n64-6.d: New test. + * testsuite/gas/mips/branch-local-5.l: New stderr output. + * testsuite/gas/mips/branch-local-6.l: New stderr output. + * testsuite/gas/mips/branch-local-5.s: New test source. + * testsuite/gas/mips/branch-local-6.s: New test source. + * testsuite/gas/mips/branch-local-7.s: New test source. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2017-08-30 Maciej W. Rozycki + + * testsuite/gas/mips/branch-local-n32-2.d: Use `branch-local-2.l' + for `error-output'. + * testsuite/gas/mips/branch-local-n64-2.d: Likewise. + * testsuite/gas/mips/branch-local-n32-3.d: Use `branch-local-3.l' + for `error-output'. + * testsuite/gas/mips/branch-local-n64-3.d: Likewise. + * testsuite/gas/mips/branch-local-n32-2.l: Remove file. + * testsuite/gas/mips/branch-local-n64-2.l: Remove file. + * testsuite/gas/mips/branch-local-n32-3.l: Remove file. + * testsuite/gas/mips/branch-local-n64-3.l: Remove file. + +2017-08-29 Jozef Lawrynowicz + + * config/tc-msp430.c (md_parse_option): Define high data and high + bss symbols if -mdata-region is passed. + Define -mdata-region open. + * doc/c-msp430.texi: Document -mdata-region. + * testsuite/gas/msp430/high-data-bss-sym.d: New test. + * testsuite/gas/msp430/high-data-bss-sym.s: New. + * testsuite/gas/msp430/msp430.exp: Add -mdata-region tests. + +2017-08-23 Alexander Fedotov + Edmar Wienskoski + + * config/tc-sparc.c (tc_gen_reloc): Convert BFD_RELOC_8/16/32/64 + into the corresponding BFD_RELOC_8/16/32/64_PCREL relocation + when requested. + * config/tc-sparc.h (DIFF_EXPR_OK): Define to enable PC-relative + diff relocations. + (TC_FORCE_RELOCATION_SUB_LOCAL): Define to ensure only supported + relocations are made PC-relative. + (CFI_DIFF_EXPR_OK): Define to 0 to force BFD_RELOC_32_PCREL to + be used directly, since otherwise BFD_RELOC_SPARC_UA32 will be + used for .eh_frame which cannot in general be converted to a + BFD_RELOC_32_PCREL due to alignment requirements. + +2017-08-22 Alan Modra + + * testsuite/gas/ppc/lsp-checks.d: Assemble with -a32. + * testsuite/gas/ppc/lsp.d: Likewise. + +2017-08-21 Alexander Fedotov + Edmar Wienskoski + + * config/tc-aarch64.c (REGDEF_ALIAS): Define + (reg_names): Update for ip0, ip1, fp, lr to use REGDEF_ALIAS + * doc/c-aarch64.texi: Update documentation on .req. + * testsuite/gas/diagnostic.s: Update + * testsuite/gas/diagnostic.l: Likewise + * testsuite/gas/register_aliases.s: New file. + * testsuite/gas/register_aliases.d: New file. + +2017-08-11 H.J. Lu + + PR gas/21667 + * read.c (pseudo_set): Update error message for alias of common + symbol. + * write.c (write_object_file): Disallow both local and global + aliases of common symbol. + * testsuite/gas/elf/common5a.d: New file. + * testsuite/gas/elf/common5a.l: Likewise. + * testsuite/gas/elf/common5a.s: Likewise. + * testsuite/gas/elf/common5b.d: Likewise. + * testsuite/gas/elf/common5b.l: Likewise. + * testsuite/gas/elf/common5b.s: Likewise. + * testsuite/gas/elf/common5c.d: Likewise. + * testsuite/gas/elf/common5c.s: Likewise. + * testsuite/gas/elf/common5d.d: Likewise. + * testsuite/gas/elf/common5d.s: Likewise. + * testsuite/gas/elf/elf.exp: Run common5a, common5b, common5c + and common5d. + +2017-08-10 Nick Clifton + + PR gas/21939 + * config/obj-macho.c (obj_mach_o_set_indirect_symbols): Increase + size of indirect_syms array so that it is large enough to hold + every symbol if necessary. + +2017-08-09 Jiong Wang + + * config/tc-arm.c (do_crc32_1): Remove warning on REG_SP for thumb_mode. + * testsuite/gas/arm/crc32-armv8-a-bad.d: Update exepcted result. + * testsuite/gas/arm/crc32-armv8-r-bad.d: Likewise. + * testsuite/gas/arm/crc32-armv8-a.d: Likewise. + * testsuite/gas/arm/crc32-armv8-r.d: Likewise. + * testsuite/gas/arm/crc32-armv8-ar-bad.s: Update test case. + * testsuite/gas/arm/crc32-armv8-ar.s: Likewise. + * testsuite/gas/arm/crc32-bad.l: Update expected error message. + +2017-08-02 Nick Clifton + + * testsuite/gas/all/gas.exp: Add am33 to the skip lists of tests + passed over by the mn10300 target. + * testsuite/gas/elf/elf.exp: Likewise. + * testsuite/gas/elf/dwarf2-11.d: Correct skip of am33 target. + * testsuite/gas/elf/dwarf2-12.d: Likewise. + * testsuite/gas/elf/dwarf2-13.d: Likewise. + * testsuite/gas/elf/dwarf2-14.d: Likewise. + * testsuite/gas/elf/dwarf2-15.d: Likewise. + * testsuite/gas/elf/dwarf2-16.d: Likewise. + * testsuite/gas/elf/dwarf2-17.d: Likewise. + * testsuite/gas/elf/dwarf2-18.d: Likewise. + * testsuite/gas/elf/dwarf2-5.d: Likewise. + * testsuite/gas/elf/dwarf2-6.d: Likewise. + * testsuite/gas/elf/dwarf2-7.d: Likewise. + +2017-08-01 H.J. Lu + + PR gas/21874 + * config/tc-i386-intel.c (i386_intel_operand): Update segment + register check. + * testsuite/gas/i386/intelok.s: Replace "fs:gs:[eax]" with + "fs:[eax]". + * testsuite/gas/i386/inval-seg.s: Add tests for invalid segment + register. + * testsuite/gas/i386/x86-64-inval-seg.s: Likewise. + * testsuite/gas/i386/inval-seg.l: Updated. + * testsuite/gas/i386/x86-64-inval-seg.l: Likewise. + +2017-07-31 John David Anglin + + * config/tc-hppa.c (pa_ip): Clear `d' bit in branch on bit instructions + with a double-word condition and a fixed bit position greater than 31. + +2017-07-28 Andrew Waterman + + * config/tc-riscv.c (riscv_set_arch): Handle the Q subset like + all other subsets. + Obviate use-after-free. + +2017-07-25 Nick Clifton + + PR 21739 + * testsuite/gas/arc/add_s-err.s: Update expected error message. + +2017-07-24 Nick Clifton + + PR 21809 + * config/tc-aarch64.c (aarch64_init_frag): Do not set a mapping + state for frags in debug sections. + * config/tc-arm.c (arm_init_frag): Likewise. + +2017-07-24 Hans-Peter Nilsson + + * dwarf2dbg.c (dwarf2dbg_final_check): Rename local variable exp + from expr. + +2017-07-21 Andreas Krebbel + + * config/tc-s390.c (s390_parse_cpu): Add z14 as alternate CPU + name. + * doc/as.texinfo: Add z14 to CPU string list. + * doc/c-s390.texi: Likewise. + +2017-07-21 Alexandre Oliva + + * dwarf2dbg.c (unused): Check offset of next in struct line_entry. + (current): Initialize view. + (force_reset_view, view_assert_failed): New variables. + (reverse_line_entry_list): New function. + (set_or_check_view): Likewise. + (dwarf2_gen_line_info_1): Call it. + (dwarf2_where): Set view to NULL. + (dwarf2_emit_insn): Return early when called before first file. + (dwarf2_directive_loc): Add view support. Emit insn + immediately when view option is given. + (process_entries): Avoid set_address to reset view when a known + address change already implies the view reset. + (dwarf2dbg_final_check): New function. + * dwarf2dbg.h (struct dwarf2_line_info): Add view. + (dwarf2dbg_final_check): Declare. + * read.c (s_leb128): Parse expression as deferred. + * write.c (write_object_file): Check pending view asserts. + (cvt_frag_to_fill): Complain about undefined leb128 operand. + * doc/as.texinfo (.loc): Document view support. + * NEWS: Mention the new feature. + * testsuite/gas/all/gas.exp: Run sleb128-9. + * testsuite/gas/all/sleb128-9.d: New. + * testsuite/gas/all/sleb128-9.l: New. + * testsuite/gas/all/sleb128-9.s: New. + * testsuite/gas/elf/dwarf2-1.d: Add nonzero views. + * testsuite/gas/elf/dwarf2-2.d: Likewise. + * testsuite/gas/elf/dwarf2-5.d: New. + * testsuite/gas/elf/dwarf2-5.s: New. + * testsuite/gas/elf/dwarf2-6.d: New. + * testsuite/gas/elf/dwarf2-6.s: New. + * testsuite/gas/elf/dwarf2-7.d: New. + * testsuite/gas/elf/dwarf2-7.s: New. + * testsuite/gas/elf/dwarf2-8.d: New. + * testsuite/gas/elf/dwarf2-8.l: New. + * testsuite/gas/elf/dwarf2-8.s: New. + * testsuite/gas/elf/dwarf2-9.d: New. + * testsuite/gas/elf/dwarf2-9.l: New. + * testsuite/gas/elf/dwarf2-9.s: New. + * testsuite/gas/elf/dwarf2-10.d: New. + * testsuite/gas/elf/dwarf2-10.l: New. + * testsuite/gas/elf/dwarf2-10.s: New. + * testsuite/gas/elf/dwarf2-11.d: New. + * testsuite/gas/elf/dwarf2-11.s: New. + * testsuite/gas/elf/dwarf2-12.d: New. + * testsuite/gas/elf/dwarf2-12.s: New. + * testsuite/gas/elf/dwarf2-13.d: New. + * testsuite/gas/elf/dwarf2-13.s: New. + * testsuite/gas/elf/dwarf2-14.d: New. + * testsuite/gas/elf/dwarf2-14.s: New. + * testsuite/gas/elf/dwarf2-15.d: New. + * testsuite/gas/elf/dwarf2-15.s: New. + * testsuite/gas/elf/dwarf2-16.d: New. + * testsuite/gas/elf/dwarf2-16.s: New. + * testsuite/gas/elf/dwarf2-17.d: New. + * testsuite/gas/elf/dwarf2-17.s: New. + * testsuite/gas/elf/dwarf2-18.d: New. + * testsuite/gas/elf/dwarf2-18.s: New. + * testsuite/gas/elf/elf.exp: Run dwarf2-5..18 tests. + * testsuite/gas/i386/dw2-compress-1.d: Add nonzero views. + * testsuite/gas/i386/dw2-compressed-1.d: Likewise. + * testsuite/gas/i386/ilp32/lns/lns-duplicate.d: Likewise. + * testsuite/gas/lns/lns-big-delta.d: Likewise. + * testsuite/gas/lns/lns-duplicate.d: Likewise. + * testsuite/gas/mips/loc-swap-2.d: Likewise. + * testsuite/gas/mips/loc-swap-3.d: Likewise. + * testsuite/gas/mips/loc-swap.d: Likewise. + * testsuite/gas/mips/micromips@loc-swap-2.d: Likewise. + * testsuite/gas/mips/micromips@loc-swap.d: Likewise. + * testsuite/gas/mips/mips16@loc-swap-2.d: Likewise. + * testsuite/gas/mips/mips16@loc-swap.d: Likewise. + * testsuite/gas/mips/mips16e@loc-swap.d: Likewise. + +2017-07-19 Claudiu Zissulescu + + * testsuite/gas/arc/jli-1.d: New file. + * testsuite/gas/arc/jli-1.s: Likewise. + * testsuite/gas/arc/taux.d: Update for jli_base. + +2017-07-19 Tristan Gingold + + * as.c (start_sbrk): Remove. + (main): Remove assignment. + (dump_statistics): Remove display of data size. + +2017-07-19 Tristan Gingold + + * testsuite/gas/pe/seh-x64-err-2.s: New test. + * testsuite/gas/pe/seh-x64-err-2.l: New stderr output. + * testsuite/gas/pe/pe.exp: Add test. + * config/obj-coff-seh.c (obj_coff_seh_do_final): Don't try to end + seh part. + +2017-07-18 Nick Clifton + + PR 21775 + * config/tc-arm.c: Fix spelling typos. + * config/tc-mips.c: Likewise. + * config/tc-msp430.c: Likewise. + * config/tc-sh64.c: Likewise. + * config/tc-tic4x.c: Likewise. + * ecoff.c: Likewise. + * testsuite/gas/arm/ldr-bad.l: Likewise. + * testsuite/gas/arm/ldr-t-bad.l: Likewise. + * testsuite/gas/tic54x/opcodes.s: Likewise. + * testsuite/gas/msp340/errata_warns.l: Likewise. + +2017-07-18 Nick Clifton + + * po/uk.po: Updated Ukranian translation. + +2017-07-17 Georg-Johann Lay + + PR 21472 + * config/tc-avr.c (mcu_types): Add entries for: attiny212, + attiny214, attiny412, attiny414, attiny814, attiny1614, + attiny1616, attiny1617, attiny3214, attiny3216, attiny3217. + (md_show_usage): Adjust doc for "avrxmega3". + * doc/c-avr.texi (AVR options) [-mmcu=]: Adjust doc for avrxmega3. + Add MCUs: attiny212, attiny214, attiny412, attiny414, attiny416, + attiny417, attiny814, attiny816, attiny817, attiny1614, + attiny1616, attiny1617, attiny3214, attiny3216, attiny3217. + +2017-07-13 Jim Wilson + + * config/tc-arch64.c (aarch64_cpus): Add AARCH64_FEATURE_RDMA to + falkor and qdf24xx entries. + +2017-07-12 Alan Modra + + * po/es.po: Update from translationproject.org/latest/gas/. + * po/fi.po: Likewise. + * po/fr.po: Likewise. + * po/id.po: Likewise. + * po/ja.po: Likewise. + * po/ru.po: Likewise. + * po/sv.po: Likewise. + * po/tr.po: Likewise. + * po/uk.po: Likewise. + * po/zh_CN.po: Likewise. + +2017-07-12 Nick Clifton + + Fix compile time warnings using gcc 7.1.1. + * config/tc-pru.c (md_assemble): Add continue statement after + handling 'E' operand character. + * config/tc-v850.c (md_assemble): Initialise the 'insn' variable. + +2017-07-05 James Greenhalgh + + * config/tc-arm.c (arm_cpus): Add Cortex-A55 and Cortex-A75. + * doc/c-arm.texi (-mcpu): Document Cortex-A55 and Cortex-A75. + +2017-07-05 Borislav Petkov + + * testsuite/gas/i386/opcode.s: Add tests for ModRM.reg == 6 variants. + * testsuite/gas/i386/opcode.d: ditto. + * testsuite/gas/i386/x86-64-opcode.s: Add x86_64 variants too. + * testsuite/gas/i386/x86-64-opcode.d: ditto. + +2017-07-04 Ramana Radhakrishnan + + * config/tc-arm.c (arm_regs): Add MVFR2. + (do_vmrs): Constraint for MVFR2 and armv8. + (do_vmsr): Likewise. + * testsuite/gas/arm/armv8-a+fp.d: Update. + * testsuite/gas/arm/armv8-ar+fp.s: Likewise. + * testsuite/gas/arm/armv8-r+fp.d: Likewise. + * testsuite/gas/arm/vfp-bad.s: Likewise. + * testsuite/gas/arm/vfp-bad.l: Likewise. + +2017-07-04 Tristan Gingold + + * configure: Regenerate. + +2017-07-04 Tristan Gingold + + * NEWS: Add marker for 2.29. + +2017-07-03 Alan Modra + + * testsuite/gas/elf/symver.d: Don't run on hppa64-hpux. + +2017-06-30 Maciej W. Rozycki + + * config/tc-mips.c (md_convert_frag): Use a switch on the + microMIPS relaxation type rather than a chain of conditionals. + +2017-06-30 Maciej W. Rozycki + + * config/tc-mips.c (md_convert_frag): Rewrite `fix_new_exp' + calls in terms of `fix_new'. + +2017-06-30 Maciej W. Rozycki + + * config/tc-mips.c (md_convert_frag): Don't make a helper + expression symbol for `fix_new_exp' called with a non-zero + offset. + * testsuite/gas/mips/relax-offset.d: New test. + * testsuite/gas/mips/mips1@relax-offset.d: New test. + * testsuite/gas/mips/r3000@relax-offset.d: New test. + * testsuite/gas/mips/r3900@relax-offset.d: New test. + * testsuite/gas/mips/micromips@relax-offset.d: New test. + * testsuite/gas/mips/relax-offset.l: New stderr output. + * testsuite/gas/mips/relax-offset.s: New test source. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2017-06-30 Georg-Johann Lay + + PR gas/21683 + * doc/c-avr.texi (AVR Options) <-mgcc-isr>: Document it. + (AVR Pseudo Instructions): New node. + * config/tc-avr.h (md_pre_output_hook): Define to avr_pre_output_hook. + (md_undefined_symbol): Define to avr_undefined_symbol. + (avr_pre_output_hook, avr_undefined_symbol): New protos. + * config/tc-avr.c (struc-symbol.h): Include it. + (ISR_CHUNK_Done, ISR_CHUNK_Prologue, ISR_CHUNK_Epilogue): New enums. + (avr_isr, avr_gccisr_opcode) + (avr_no_sreg_hash, avr_no_sreg): New static variables. + (avr_opt_s) : Add field. + (avr_opt): Add initializer for have_gccisr. + (enum options) : Add enum. + (md_longopts) <"mgcc-isr">: Add entry. + (md_show_usage): Document -mgcc-isr. + (md_parse_option) [OPTION_HAVE_GCCISR]: Handle it. + (md_undefined_symbol): Remove. + (avr_undefined_symbol, avr_pre_output_hook): New fuctions. + (md_begin) : Initialize them. + (avr_operand) : Add argument and set *pregno if function + is called for a register constraint. + [N]: Handle constraint. + (avr_operands) : Pass 5th parameter to calls. + [avr_opt.have_gccisr]: Call avr_update_gccisr. Call + avr_gccisr_operands instead of avr_operands. + (avr_update_gccisr, avr_emit_insn, avr_patch_gccisr_frag) + (avr_gccisr_operands, avr_check_gccisr_done): New static functions. + * testsuite/gas/avr/gccisr-01.d: New test. + * testsuite/gas/avr/gccisr-01.s: New test. + * testsuite/gas/avr/gccisr-02.d: New test. + * testsuite/gas/avr/gccisr-02.s: New test. + * testsuite/gas/avr/gccisr-03.d: New test. + * testsuite/gas/avr/gccisr-03.s: New test. + +2017-06-30 Maciej W. Rozycki + + * config/tc-mips.c (match_float_constant): Update description. + (match_operand): Likewise. + +2017-06-30 Andrew Bennett + Maciej W. Rozycki + + * config/tc-mips.c (mips_ases): Add microMIPS XPA support. + * testsuite/gas/mips/micromips@xpa.d: New test. + * testsuite/gas/mips/mips.exp: Run the new test. Enable + `xpa-virt-err' test for `micromips'. + +2017-06-30 Andrew Bennett + Maciej W. Rozycki + + * testsuite/gas/mips/micromips@r5.d: New test. + * testsuite/gas/mips/mips.exp: Run the new test. + +2017-06-30 Maciej W. Rozycki + Andrew Bennett + + * config/tc-mips.c (mips_set_ase): Handle the ASE_XPA_VIRT flag. + * testsuite/gas/mips/xpa.d: Remove `xpa' from `-M' in `objdump' + flags. Add `-mvirt' to `as' flags. + * testsuite/gas/mips/xpa-err.d: New test. + * testsuite/gas/mips/xpa-virt-err.d: New test. + * testsuite/gas/mips/xpa-err.l: New stderr output. + * testsuite/gas/mips/xpa-virt-err.l: New stderr output. + * testsuite/gas/mips/xpa-err.s: New test source. + * testsuite/gas/mips/xpa-virt-err.s: New test source. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2017-06-29 Maciej W. Rozycki + + * testsuite/gas/mips/mips16e2@mips16e2-mt-sub.d: Adjust for the + ASE_MIPS16E2_MT flag disassembler fix. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e2-mt-sub.d: + Likewise. + +2017-06-29 Maciej W. Rozycki + + * config/tc-mips.c (mips_set_ase): Clear the ASE_MIPS16E2_MT + flag before recalculating. + * testsuite/gas/mips/mips16e2-mt-err.d: New test. + * testsuite/gas/mips/mips16e2-mt-err.l: New stderr output. + * testsuite/gas/mips/mips16e2-mt-err.s: New test source. + * testsuite/gas/mips/mips.exp: Run the new test. + +2017-06-28 Tamar Christina + + * config/tc-aarch64.c (aarch64_reg_parse_32_64): Accept 4B. + (aarch64_features): Added dotprod. + * doc/c-aarch64.texi: Added dotprod. + * testsuite/gas/aarch64/dotproduct.d: New. + * testsuite/gas/aarch64/dotproduct.s: New. + +2017-06-28 Jiong Wang + + * config/tc-arm.c (fpu_neon_ext_dotprod): New variable. + (neon_scalar_for_mul): Improve comments. + (do_neon_dotproduct): New function to encode Dot Product instructions. + (do_neon_dotproduct_s): Wrapper function for signed Dot Product + instructions. + (do_neon_dotproduct_u): Wrapper function for unsigned Dot Product + instructions. + (insns): New entries for vsdot and vudot. + (arm_extensions): New entry for "dotprod". + * doc/c-arm.texi: Document new "dotprod" extension. + * testsuite/gas/arm/dotprod.s: New test source. + * testsuite/gas/arm/dotprod-illegal.s: New test source. + * testsuite/gas/arm/dotprod.d: New test. + * testsuite/gas/arm/dotprod-thumb2.d: New test. + * testsuite/gas/arm/dotprod-illegal.d: New test. + * testsuite/gas/arm/dotprod-legacy-arch.d: New test. + * testsuite/gas/arm/dotprod-illegal.l: New error file. + * testsuite/gas/arm/dotprod-legacy-arch.l: New error file. + +2017-06-28 Maciej W. Rozycki + + * testsuite/gas/mips/elf_mach_interaptiv-mr2.d: New test. + * testsuite/gas/mips/save-err.d: New test. + * testsuite/gas/mips/save-sub.d: New test. + * testsuite/gas/mips/interaptiv-mr2@save.d: New test. + * testsuite/gas/mips/mips1@save-sub.d: New test. + * testsuite/gas/mips/mips2@save-sub.d: New test. + * testsuite/gas/mips/mips3@save-sub.d: New test. + * testsuite/gas/mips/mips4@save-sub.d: New test. + * testsuite/gas/mips/mips5@save-sub.d: New test. + * testsuite/gas/mips/mips32@save-sub.d: New test. + * testsuite/gas/mips/mips64@save-sub.d: New test. + * testsuite/gas/mips/mips16@save-sub.d: New test. + * testsuite/gas/mips/mips16e@save-sub.d: New test. + * testsuite/gas/mips/r3000@save-sub.d: New test. + * testsuite/gas/mips/r3900@save-sub.d: New test. + * testsuite/gas/mips/r4000@save-sub.d: New test. + * testsuite/gas/mips/vr5400@save-sub.d: New test. + * testsuite/gas/mips/interaptiv-mr2@save-sub.d: New test. + * testsuite/gas/mips/sb1@save-sub.d: New test. + * testsuite/gas/mips/octeon2@save-sub.d: New test. + * testsuite/gas/mips/octeon3@save-sub.d: New test. + * testsuite/gas/mips/xlr@save-sub.d: New test. + * testsuite/gas/mips/r5900@save-sub.d: New test. + * testsuite/gas/mips/mips16e2-copy.d: New test. + * testsuite/gas/mips/mips16e2-copy-err.d: New test. + * testsuite/gas/mips/save.d: Remove `MIPS16e' from the `name' + option. Adjust for trailing padding change. + * testsuite/gas/mips/mips16e2-copy-err.l: New stderr output. + * testsuite/gas/mips/save-sub.s: New test source. + * testsuite/gas/mips/mips16e2-copy.s: New test source. + * testsuite/gas/mips/mips16e2-copy-err.s: New test source. + * testsuite/gas/mips/save.s: Update description, change trailing + padding and remove trailing white space. + * testsuite/gas/mips/mips.exp: Expand `save' and `save-err' + tests across the regular MIPS interAptiv MR2 architecture. Run + the new tests. + +2017-06-28 Maciej W. Rozycki + + * testsuite/gas/mips/mips.exp (interaptiv-mr2): New architecture. + (mips16e2-interaptiv-mr2): Likewise. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro.d: New + test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-t.d: + New test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-e.d: + New test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-t.d: + New test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-e.d: + New test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64.d: New + test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-sub.d: New + test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.d: New + test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64-sub.d: + New test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e2-mt-sub.d: + New test. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-asmacro.d: + New test. + * testsuite/gas/mips/interaptiv-mr2@mcu.d: New test. + * testsuite/gas/mips/interaptiv-mr2@isa-override-1.d: New test. + * testsuite/gas/mips/interaptiv-mr2@isa-override-2.d: New test. + * testsuite/gas/mips/attr-gnu-4-5.d: Ignore any number of ASE + flag lines present rather than just one. + * testsuite/gas/mips/attr-gnu-4-6.d: Likewise. + * testsuite/gas/mips/attr-gnu-4-7.d: Likewise. + * testsuite/gas/mips/attr-none-o32-fp64-nooddspreg.d: Likewise. + * testsuite/gas/mips/attr-none-o32-fp64.d: Likewise. + * testsuite/gas/mips/attr-none-o32-fpxx.d: Likewise. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro.l: New + stderr output. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-t.l: + New stderr output. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-e.l: + New stderr output. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-t.l: + New stderr output. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-e.l: + New stderr output. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-sub.l: New + stderr output. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.l: New + stderr output. + * testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64-sub.l: + New stderr output. + * testsuite/gas/mips/interaptiv-mr2@isa-override-1.l: New stderr + output. + * testsuite/gas/mips/interaptiv-mr2@isa-override-2.l: New stderr + output. + +2017-06-28 Maciej W. Rozycki + Matthew Fortune + + * config/tc-mips.c (validate_mips_insn): Handle + OP_SAVE_RESTORE_LIST specially. + (mips_encode_save_restore, mips16_encode_save_restore): New + functions. + (match_save_restore_list_operand): Factor out SAVE/RESTORE + operand insertion into the instruction word or halfword to these + new functions. + (mips_cpu_info_table): Add "interaptiv-mr2" entry. + + * doc/c-mips.texi (MIPS Options): Add `interaptiv-mr2' to the + `-march=' argument list. + +2017-06-27 Maciej W. Rozycki + + * testsuite/gas/mips/mips16e-save.d: Rename to... + * testsuite/gas/mips/save.d: ... this. + * testsuite/gas/mips/mips16e-save-err.d: Update the + `error-output' option and rename to... + * testsuite/gas/mips/save-err.d: ... this. + * testsuite/gas/mips/mips16e-save-err.l: Rename to... + * testsuite/gas/mips/save-err.l: ... this. + * testsuite/gas/mips/mips16e-save.s: Rename to... + * testsuite/gas/mips/save.s: ... this. + * testsuite/gas/mips/mips16e-save-err.s: Rename to... + * testsuite/gas/mips/save-err.s: ... this. + * testsuite/gas/mips/mips.exp: Rename `mips16e-save' and + `mips16e-save-err' invocations to `save' and `save-err' + respectively and reorder these tests away from MIPS16 tests. + +2017-06-27 Maciej W. Rozycki + + * testsuite/gas/mips/mips16e-save.d: Remove `-mmips:isa32 + -mmips:16' from `objdump' flags and `-march=mips32 -mips16' from + `as' flags. + * testsuite/gas/mips/mips16e-save-err.d: Remove `-march=mips32' + from `as' flags. + * testsuite/gas/mips/mips16e-save.s: Remove the `.set mips16' + pseudo-op. + * testsuite/gas/mips/mips16e-save-err.s: Likewise. + * testsuite/gas/mips/mips.exp: Run SAVE/RESTORE tests across all + MIPS16e architectures. + +2017-06-27 Maciej W. Rozycki + + * testsuite/gas/mips/mips16e-save-err.d: New test. + * gas/testsuite/gas/mips/mips.exp: Fold `mips16e-save-err' list + test into the new test. + +2017-06-27 Maciej W. Rozycki + + * testsuite/gas/mips/mips16e-save.d: Capitalize the `name' + option. + +2017-06-26 Kuan-Lin Chen + + * config/tc-riscv.c (md_apply_fix) [BFD_RELOC_32]: Convert to a + R_RISCV_32_PCREL relocation. + +2017-06-26 H.J. Lu + + PR gas/21661 + * config/obj-elf.c (obj_elf_symver): Don't allow .symver with + common symbol. + (elf_frob_symbol): Likewise. + * testsuite/gas/elf/elf.exp: Run pr21661. + * testsuite/gas/elf/pr21661.d: New file. + * testsuite/gas/elf/pr21661.s: Likewise. + +2017-06-26 Nick Clifton + + * config/tc-arm.c (fpu_any): Only define for ELF based targets. + +2017-06-26 Claudiu Zissulescu + + * /config/tc-arc.c (is_br_jmp_insn_p): Update macro with known + instructions to be accounted as jumps. + (assemble_insn): Check for limms into the delay slots. Emit an + error if so. + * testsuite/gas/arc/asm-errors-3.d: New file. + * testsuite/gas/arc/asm-errors-3.err: Likewise. + * testsuite/gas/arc/asm-errors-3.s: Likewise. + +2017-06-26 Thomas Preud'homme + + * NEWS: Mention support of ARM Cortex-R52 processor. + * config/tc-arm.c (arm_cpus): Add entry for ARM Cortex-R52 processor. + * doc/c-arm.texi: Mention support for -mcpu=cortex-r52. + +2017-06-24 Thomas Preud'homme + + * NEWS: Mention support for ARMv8-R architecture. + * config/tc-arm.c (arm_archs): Add entry for ARMv8-R. + (arm_extensions): Restrict pan, ras and rdma extension to + ARMv8-A and make crypto, fp and simd extensions available to + ARMv8-R. + (cpu_arch_ver): Add entry for ARMv8-R. + (aeabi_set_public_attributes): Update gas_assert for Tag_DIV_use + logic. + * testsuite/gas/arm/armv8-a+fp.s: Rename into ... + * testsuite/gas/arm/armv8-ar+fp.s: This. Remove .arch directive. + * testsuite/gas/arm/armv8-a+fp.d: Specify source to assemble and + architecture to assemble for. + * testsuite/gas/arm/armv8-r+fp.d: New. + * testsuite/gas/arm/armv8-a+simd.s: Rename into ... + * testsuite/gas/arm/armv8-ar+simd.s: This. Remove .arch directive. + * testsuite/gas/arm/armv8-a+simd.d: Specify source to assemble and + architecture to assemble for. + * testsuite/gas/arm/armv8-r+simd.d: New. + * testsuite/gas/arm/armv8-a-bad.s: Rename into ... + * testsuite/gas/arm/armv8-ar-bad.s: This. Remove .arch directive. + * testsuite/gas/arm/armv8-a-bad.l: Rename into ... + * testsuite/gas/arm/armv8-ar-bad.l: This. Decrement line number by 1. + * testsuite/gas/arm/armv8-a-bad.d: Specify source to assemble, + architecture to assemble for and adjust error output file. + * testsuite/gas/arm/armv8-r-bad.d: New. + * testsuite/gas/arm/armv8-a-barrier.s: Rename into ... + * testsuite/gas/arm/armv8-ar-barrier.s: This. + * testsuite/gas/arm/armv8-a-barrier-arm.d: Adjust source. + * testsuite/gas/arm/armv8-a-barrier-thumb.d: Likewise. + * testsuite/gas/arm/armv8-r-barrier-arm.d: New. + * testsuite/gas/arm/armv8-r-barrier-thumb.d: New. + * testsuite/gas/arm/armv8-a-it-bad.s: Rename into ... + * testsuite/gas/arm/armv8-ar-it-bad.s: This. Remove .arch directive. + * testsuite/gas/arm/armv8-a-it-bad.l: Rename into ... + * testsuite/gas/arm/armv8-ar-it-bad.l: This. Decrement line number + by 1. + * testsuite/gas/arm/armv8-a-it-bad.d: Specify source to assemble, + architecture to assemble for and adjust error output file. + * testsuite/gas/arm/armv8-r-it-bad.d: New. + * testsuite/gas/arm/armv8-a.s: Rename into ... + * testsuite/gas/arm/armv8-ar.s: This. Remove .arch directive. + * testsuite/gas/arm/armv8-a.d: Specify source to assemble and + architecture to assemble for. + * testsuite/gas/arm/armv8-r.d: New. + * testsuite/gas/arm/attr-march-armv8-r+crypto.d: New. + * testsuite/gas/arm/attr-march-armv8-r+fp.d: New. + * testsuite/gas/arm/attr-march-armv8-r+simd.d: New. + * testsuite/gas/arm/attr-march-armv8-r.d: New. + * testsuite/gas/arm/crc32.s: Rename into ... + * testsuite/gas/arm/crc32-armv8-ar.s: This. + * testsuite/gas/arm/crc32.d: Rename into ... + * testsuite/gas/arm/crc32-armv8-a.d: This. Specify source to assemble. + * testsuite/gas/arm/crc32-armv8-r.d: New. + * testsuite/gas/arm/crc32-bad.s: Rename into ... + * testsuite/gas/arm/crc32-armv8-ar-bad.s: This. + * testsuite/gas/arm/crc32-bad.d: Rename into ... + * testsuite/gas/arm/crc32-armv8-a-bad.d: This. Specify source to + assemble. + * testsuite/gas/arm/crc32-armv8-r-bad.d: New. + * testsuite/gas/arm/mask_1.s: Rename into ... + * testsuite/gas/arm/mask_1-armv8-ar.s: This. + * testsuite/gas/arm/mask_1.d: Rename into ... + * testsuite/gas/arm/mask_1-armv8-a.d: This. Specify source to + assemble. + * testsuite/gas/arm/mask_1-armv8-r.d: new. + +2017-06-24 Thomas Preud'homme + + * config/tc-arm.c (arm_ext_v6m): Delete. + (arm_ext_v7m): Delete. + (arm_ext_m): Remove ARM_EXT_OS from the set of feature defined M + profile. + (arm_arch_v6m_only): Delete. + (do_t_swi): Remove special case for ARMv6S-M. + (md_assemble): Display error message previously in do_t_swi when + SVC is not available. + (insns): Guard swi and svc by arm_ext_os for Thumb mode. + (aeabi_set_public_attributes): Remove special case for ARMv6S-M. + +2017-05-11 Andrew Waterman + + * config/tc-riscv.c (riscv_ip): Changes as_warn to as_bad for improper + shift amounts. + +2017-06-22 Nick Clifton + + * config/tc-arm.c (arm_ext_v7m): Add ATTRIBUTE_UNUSED. + +2017-06-21 Thomas Preud'homme + + * config/tc-arm.c (fpu_any): Defined from FPU_ANY. + (cpu_arch_ver): Add all architectures and sort by release date. + (have_ext_for_needed_feat_p): New. + (get_aeabi_cpu_arch_from_fset): New. + (aeabi_set_public_attributes): Call above function to determine + Tag_CPU_arch and Tag_CPU_arch_profile values. Adapt Tag_ARM_ISA_use + and Tag_THUMB_ISA_use selection logic to check absence of feature bit + accordingly. + * testsuite/gas/arm/attr-march-armv1.d: Fix expected Tag_CPU_arch build + attribute value. + * testsuite/gas/arm/attr-march-armv2.d: Likewise. + * testsuite/gas/arm/attr-march-armv2a.d: Likewise. + * testsuite/gas/arm/attr-march-armv2s.d: Likewise. + * testsuite/gas/arm/attr-march-armv3.d: Likewise. + * testsuite/gas/arm/attr-march-armv3m.d: Likewise. + * testsuite/gas/arm/pr12198-2.d: Likewise. + +2017-06-21 H.J. Lu + + * testsuite/gas/i386/cet-intel.d: Updated. + * testsuite/gas/i386/cet.d: Likewise. + * testsuite/gas/i386/x86-64-cet-intel.d: Likewise. + * testsuite/gas/i386/x86-64-cet.d: Likewise. + * testsuite/gas/i386/cet.s: Update incsspd and setssbsy tests. + * testsuite/gas/i386/x86-64-cet.s: Likewise. + +2017-06-21 H.J. Lu + + * testsuite/gas/i386/cet-intel.d: Updated. + * testsuite/gas/i386/cet.d: Likewise. + * testsuite/gas/i386/x86-64-cet-intel.d: Likewise. + * testsuite/gas/i386/x86-64-cet.d: Likewise. + * testsuite/gas/i386/cet.s: Replace savessp with saveprevssp. + * testsuite/gas/i386/x86-64-cet.s: Likewise. + +2017-06-21 H.J. Lu + + * config/tc-i386.c (md_assemble): Update NOTRACK prefix check. + * testsuite/gas/i386/notrack-intel.d: Updated. + * testsuite/gas/i386/notrack.d: Likewise. + * testsuite/gas/i386/notrackbad.l: Likewise. + * testsuite/gas/i386/x86-64-notrack-intel.d: Likewise. + * testsuite/gas/i386/x86-64-notrack.d: Likewise. + * testsuite/gas/i386/x86-64-notrackbad.l: Likewise. + * testsuite/gas/i386/notrack.s: Add NOTRACK prefix tests with + memory indirect branch. + * testsuite/gas/i386/x86-64-notrack.s: Likewise. + * testsuite/gas/i386/notrackbad.s: Remove memory indirect branch + with NOTRACK prefix. + * testsuite/gas/i386/x86-64-notrackbad.s: Likewise. + +2017-06-20 Thomas Preud'homme + + * config/tc-arm.c (arm_extensions): New duplicate idiv entry to enable + Thumb division for ARMv7 architecture. + (arm_parse_extension): Document expected behavior for duplicate + entries. + (s_arm_arch_extension): Likewise. + * testsuite/gas/arm/forbid-armv7-idiv-ext.d: New test. + * testsuite/gas/arm/forbid-armv7-idiv-ext.l: New expected output for + above test. + +2017-06-21 Thomas Preud'homme + + * config/tc-arm.c (aeabi_set_public_attributes): Populate flags from + feature bits used or selected_cpu depending on whether a CPU was + selected by the user. + +2017-06-21 Thomas Preud'homme + + * config/tc-arm.c (aeabi_set_public_attributes): Test *mcpu_ext_opt to + decide whether to set Tag_DSP_extension build attribute value. Remove + now useless arm_arch variable. + +2017-06-21 Thomas Preud'homme + + * config/tc-arm.c (dyn_mcpu_ext_opt): New static variable. + (dyn_march_ext_opt): Likewise. + (md_begin): Copy extension feature bits alongside architecture ones. + Merge extensions feature bits in selected_cpu and cpu_variant if there + is some. + (arm_parse_extension): Pass architecture and extension feature bits in + separate parameters, with architecture bits being read only. Update + **opt_p directly rather than *ext_set and initialize it if needed. + (arm_parse_cpu): Stop merging architecture and extension feature bits + and instead use mcpu_cpu_opt and dyn_mcpu_ext_opt to memorize them + respectively. Adapt to change in parameters of arm_parse_extension. + (arm_parse_arch): Adapt to change in parameters of arm_parse_extension. + (aeabi_set_attribute_string): Make function static. + (arm_md_post_relax): New function. + (s_arm_cpu): Stop merging architecture and extension feature bits and + instead use mcpu_cpu_opt and dyn_mcpu_ext_opt to memorize them + respectively. Merge extension feature bits in cpu_variant + if there is any. + (s_arm_arch): Reset extension feature bit. Set selected_cpu from + *mcpu_cpu_opt and cpu_variant from selected_cpu and *mfpu_opt for + consistency with s_arm_cpu. + (s_arm_arch_extension): Update *dyn_mcpu_ext_opt rather than + selected_cpu, allocating it before hand if needed. Set selected_cpu + from it and then cpu_variant. + (s_arm_fpu): Merge *mcpu_ext_opt feature bits if any in cpu_variant. + * config/tc-arm.h (md_post_relax_hook): Set to arm_md_post_relax. + (aeabi_set_public_attributes): Delete external declaration. + (arm_md_post_relax): Declare externally. + +2017-06-21 Thomas Preud'homme + + * config/tc-arm.c (struct arm_cpu_option_table): New ext field. + (ARM_CPU_OPT): Add parameter to set new ext field and reorder canonical + name field just after the name field. + (arm_cpus): Move extension feature bit from value field to ext field, + reorder parameter according to changes in ARM_CPU_OPT and reindent. + (arm_parse_cpu): Point mcpu_cpu_opt to a bitfield merging the value and + ext field from the selected arm_cpus entry. + (s_arm_cpu): Likewise. + +2017-06-21 James Greenhalgh + + * config/tc-aarch64.c (aarch64_cpus): Add cortex-a55 and cortex-a75. + * doc/c-aarch64.texi (-mcpu): Document cortex-a55 and cortex-a75. + +2017-06-15 H.J. Lu + + PR binutils/21594 + * testsuite/gas/i386/mpx.s: Add 2 tests with invalid bnd + register. + * testsuite/gas/i386/x86-64-mpx.s: Likewise. + * testsuite/gas/i386/mpx.d: Updated. + * testsuite/gas/i386/x86-64-mpx.d: Likewise. + +2017-06-14 Max Filippov + + * config/tc-xtensa.c (density_supported, xtensa_fetch_width, + absolute_literals_supported): Leave definitions uninitialized. + (directive_state): Leave entries for directive_density and + directive_absolute_literals initialized to false. + (xg_init_global_config, xtensa_init): New functions. + * config/tc-xtensa.h (TARGET_BYTES_BIG_ENDIAN): Define as 0. + (HOST_SPECIAL_INIT): New definition. + (xtensa_init): New declaration. + +2017-06-07 Michael Collison + + * config/tc-aarch64.c (reg_entry_reg_names): Add IP0, + IP1, FP, and LR as register aliases of register 16, 17, 29 + and 30 respectively. + * testsuite/gas/aarch64/diagnostic.l: Remove diagnostic + prohibiting register 'lr' which is now an alias. + * testsuite/gas/aarch64/diagnostic.s: Remove instruction + utilizing register 'lr' which is now an alias. + +2017-06-06 Jiong Wang + + * config/tc-arm.c (reject_bad_reg): Allow REG_SP on ARMv8-A. + (parse_operands): Allow REG_SP for OP_oRRnpcsp and OP_RRnpcsp on + ARMv8-A. + (do_co_reg): Allow REG_SP for Rd on ARMv8-A. + (do_t_add_sub): Likewise. + (do_t_mov_cmp): Likewise. + (do_t_tb): Likewise. + * testsuite/gas/arm/ld-sp-warn.l: Delete the warning on REG_SP as Rt for + ldrsb. + * testsuite/gas/arm/sp-pc-validations-bad-t-v8a.d: New test. + * testsuite/gas/arm/sp-pc-validations-bad-t-v8a.l: New test. + * testsuite/gas/arm/sp-pc-validations-bad-t.d: Specifies -march=armv7-a. + * testsuite/gas/arm/sp-pc-validations-bad-t.s: Remove ".arch armv7-a". + * testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.d: New test. + * testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.l: New test. + * testsuite/gas/arm/sp-usage-thumb2-relax-on-v8.d: New test. + * testsuite/gas/arm/sp-usage-thumb2-relax.s: New test. + * testsuite/gas/arm/strex-bad-t.d: Specifies -march=armv7-a. + +2017-06-05 Jim Wilson + + * config/tc-arm.c (arm_cpus): Delete falkor and qdf24xx entries. + * doc/c-arm.texi (-mcpu): Likewise. + +2017-05-30 Anton Kolesov + + * config/tc-arc.c (cpu_types): Include arc-cpu.def + +2017-05-23 H.J. Lu + + * gas/testsuite/gas/i386/notrackbad.l: Updated for non-ELF + targets. + * gas/testsuite/gas/i386/x86-64-notrackbad.l: Likewise. + +2017-05-23 Claudiu Zissulescu + + * config/tc-arc.c (md_apply_fix): Use as_bad_where. + (assemble_insn): Use as_bad. + +2017-05-22 H.J. Lu + + * config/tc-i386.c (REX_PREFIX): Changed to 7. + (NOTRACK_PREFIX): New. + (MAX_PREFIXES): Changed to 8. + (_i386_insn): Add notrack_prefix. + (PREFIX_GROUP): Add PREFIX_DS. + (add_prefix): Return PREFIX_DS for DS_PREFIX_OPCODE. + (md_assemble): Check if NOTRACK prefix is supported. + (parse_insn): Set notrack_prefix and issue an error for + other prefixes after NOTRACK prefix. + * testsuite/gas/i386/i386.exp: Run tests for NOTRACK prefix. + * testsuite/gas/i386/notrack-intel.d: New file. + * testsuite/gas/i386/notrack.d: Likewise. + * testsuite/gas/i386/notrack.s: Likewise. + * testsuite/gas/i386/notrackbad.l: Likewise. + * testsuite/gas/i386/notrackbad.s: Likewise. + * testsuite/gas/i386/x86-64-notrack-intel.d: Likewise. + * testsuite/gas/i386/x86-64-notrack.d: Likewise. + * testsuite/gas/i386/x86-64-notrack.s: Likewise. + * testsuite/gas/i386/x86-64-notrackbad.l: Likewise. + * testsuite/gas/i386/x86-64-notrackbad.s: Likewise. + +2017-05-22 Jiong Wang + + * configure.tgt: Set "arch" to "aarch64" if ${cpu} equals "aarch64". + Recognize the new triplet name aarch64*-linux-gnu_ilp32. + * configure.ac: Output DEFAULT_ARCH macro for AArch64. + * configure: Regenerate. + * config/tc-aarch64.h (aarch64_after_parse_args): New declaration. + (md_after_parse_args): New define. + * config/tc-aarch64.c (aarch64_abi_type): New enumeration + AARCH64_ABI_NONE. + (DEFAULT_ARCH): New define. + (aarch64_abi): Set default value to AARCH64_ABI_NONE. + (aarch64_after_parse_args): New function. + +2017-05-19 Jose E. Marchesi + + * config/tc-sparc.c (sparc_arch_table): Entries for `sparc6', + `v9m8' and `v8plusm8'. + (sparc_md_end): Handle SPARC_OPCODE_ARCH_M8. + (get_hwcap_name): Support the M8 hardware capabilities. + (sparc_ip): Handle new operand types. + * doc/c-sparc.texi (Sparc-Opts): Document -Av9m8, -Av8plusm8 and + -Asparc6, and the corresponding -xarch aliases. + * testsuite/gas/sparc/sparc6.s: New file. + * testsuite/gas/sparc/sparc6.d: Likewise. + * testsuite/gas/sparc/sparc6-diag.s: Likewise. + * testsuite/gas/sparc/sparc6-diag.l: Likewise. + * testsuite/gas/sparc/fpcmpshl.s: Likewise. + * testsuite/gas/sparc/fpcmpshl.d: Likewise. + * testsuite/gas/sparc/fpcmpshl-diag.s: Likewise. + * testsuite/gas/sparc/fpcmpshl-diag.l: Likewise. + * testsuite/gas/sparc/ldm-stm.s: Likewise. + * testsuite/gas/sparc/ldm-stm.d: Likewise. + * testsuite/gas/sparc/ldm-stm-diag.s: Likewise. + * testsuite/gas/sparc/ldm-stm-diag.l: Likewise. + * testsuite/gas/sparc/ldmf-stmf.s: Likewise. + * testsuite/gas/sparc/ldmf-stmf.d: Likewise. + * testsuite/gas/sparc/ldmf-stmf-diag.s: Likewise. + * testsuite/gas/sparc/ldmf-stmf-diag.l: Likewise. + * testsuite/gas/sparc/on.s: Likewise. + * testsuite/gas/sparc/on.d: Likewise. + * testsuite/gas/sparc/on-diag.s: Likewise. + * testsuite/gas/sparc/on-diag.l: Likewise. + * testsuite/gas/sparc/rle.s: Likewise. + * testsuite/gas/sparc/rle.d: Likewise. + * testsuite/gas/sparc/sparc.exp (gas_64_check): Run new tests. + * testsuite/gas/sparc/rdasr.s: Add test for RDENTROPY. + * testsuite/gas/sparc/rdasr.d: Likewise. + +2017-05-19 Jose E. Marchesi + + * testsuite/gas/sparc/call-relax.d: Support 32-bit targets. + * testsuite/gas/sparc/sparc.exp (gas_64_check): Use -64 to + run asi-bump-warn. + +2017-05-19 Georg-Johann Lay + + PR ld/21472 + * config/tc-avr.c (mcu_types): Add entries for: attiny416, + attiny417, attiny816, attiny817. + +2017-05-18 Alan Modra + + * config/tc-aarch64.c: Don't compare booleans against TRUE or FALSE. + * config/tc-hppa.c: Likewise. + * config/tc-mips.c: Likewise. + * config/tc-score7.c: Likewise. + +2017-05-16 Alan Modra + + * write.c (GENERIC_FORCE_RELOCATION_LOCAL): Define. + (TC_FORCE_RELOCATION_LOCAL): Use it. + (GENERIC_FORCE_RELOCATION_SUB_SAME): Define. + (TC_FORCE_RELOCATION_SUB_SAME): Use it. + * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL, + TC_FORCE_RELOCATION_SUB_SAME): Use GENERIC defines. + * config/tc-aarch64.h: Similarly. + * config/tc-avr.h: Similarly. + * config/tc-cris.h: Similarly. + * config/tc-i386.h: Similarly. + * config/tc-i960.h: Similarly. + * config/tc-ia64.h: Similarly. + * config/tc-microblaze.h: Similarly. + * config/tc-mips.h: Similarly. + * config/tc-msp430.h: Similarly. + * config/tc-nds32.h: Similarly. + * config/tc-pru.h: Similarly. + * config/tc-riscv.h: Similarly. + * config/tc-rl78.h: Similarly. + * config/tc-s390.h: Similarly. + * config/tc-sh.h: Similarly. + * config/tc-sh64.h: Similarly. + * config/tc-sparc.h: Similarly. + * config/tc-xtensa.h: Similarly. + * config/tc-mn10300.h: Similarly. + (GENERIC_FORCE_RELOCATION_LOCAL): Define. + * config/tc-msp430.c (msp430_force_relocation_local): Modify to + be addition to rather than replacement of standard + TC_FORCE_RELOCATION_LOCAL. + +2017-05-15 Nick Clifton + + PR gas/21458 + * config/tc-arm.c (do_adr): If the ADR involves a thumb function + symbol, ensure that the T bit will be set. + (do_adrl): Likewise. + (do_t_adr): Likewise. + * testsuite/gas/arm/pr21458.s: New test. + * testsuite/gas/arm/pr21458.d: New test driver. + +2017-05-15 Maciej W. Rozycki + + * testsuite/gas/mips/mips16-pcrel-1.d: Remove `-mips3' from `as' + flags. + * testsuite/gas/mips/mips16-pcrel-pic-1.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n32-0.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n32-1.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n64-0.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n64-1.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-reloc-4.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-reloc-5.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-reloc-6.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-reloc-7.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-4.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-5.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-6.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-7.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-9.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-pic-9.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-n32-8.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-n32-9.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-n64-8.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-addend-n64-9.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-2.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-3.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-6.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-7.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-4.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-6.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-4.d: + Likewise. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-6.d: + Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-0.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-1.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-2.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-0.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-1.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-0.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-1.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-reloc-2.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-reloc-3.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-reloc-6.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-reloc-7.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-2.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-3.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-6.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-7.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-8.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-9.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-n32-8.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-n32-9.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-n64-sym32-8.d: + New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-addend-n64-sym32-9.d: + New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute.d: New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-1.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-2.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-3.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-4.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-5.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-6.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-7.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-4.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-6.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-n32-4.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-n32-6.d: New + test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-n64-sym32-4.d: + New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-n64-sym32-6.d: + New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-n32-4.d: + New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-n32-6.d: + New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-n64-sym32-4.d: + New test. + * testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-n64-sym32-6.d: + New test. + * testsuite/gas/mips/mips16-pcrel-1.l: Adjust line numbers. + * testsuite/gas/mips/mips16-pcrel-1.s: Adjust for alignment + preservation between MIPS16 and MIPS16e2 code. + * testsuite/gas/mips/mips.exp: Run MIPS16 relaxation tests over + all MIPS16 architectures. + +2017-05-15 Maciej W. Rozycki + + * testsuite/gas/mips/mips16e2.d: New test. + * testsuite/gas/mips/mips16e2-mt.d: New test. + * testsuite/gas/mips/mips16e2-sub.d: New test. + * testsuite/gas/mips/mips16e2@mips16e2-sub.d: New test. + * testsuite/gas/mips/mips16e2-mt-sub.d: New test. + * testsuite/gas/mips/mips16e2@mips16e2-mt-sub.d: New test. + * testsuite/gas/mips/mips16e2-hilo.d: New test. + * testsuite/gas/mips/mips16e2-hilo-n32.d: New test. + * testsuite/gas/mips/mips16e2-reloc-error.d: New test. + * testsuite/gas/mips/mips16e2-imm-error.d: New test. + * testsuite/gas/mips/elf_ase_mips16e2.d: New test. + * testsuite/gas/mips/elf_ase_mips16e2-2.d: New test. + * testsuite/gas/mips/elf-rel9-mips16e2.d: New test. + * testsuite/gas/mips/mips16e2-lui.d: New test. + * testsuite/gas/mips/mips16e2@mips32r2-sync.d: New test. + * testsuite/gas/mips/mips16e2@mips32r2-sync-1.d: New test. + * testsuite/gas/mips/mips16e2@lui-2.d: New test. + * testsuite/gas/mips/mips16e2-reloc-error.l: New stderr output. + * testsuite/gas/mips/mips16e2-imm-error.l: New stderr output. + * testsuite/gas/mips/mips16e2@lui-2.l: New stderr output. + * testsuite/gas/mips/mips16e2.s: New test source. + * testsuite/gas/mips/mips16e2-mt.s: New test source. + * testsuite/gas/mips/mips16e2-sub.s: New test source. + * testsuite/gas/mips/mips16e2-mt-sub.s: New test source. + * testsuite/gas/mips/mips16e2-hilo.s: New test source. + * testsuite/gas/mips/mips16e2-reloc-error.s: New test source. + * testsuite/gas/mips/mips16e2-imm-error.s: New test source. + * testsuite/gas/mips/elf-rel9-mips16e2.s: New test source. + * testsuite/gas/mips/mips16e2-lui.s: New test source. + * testsuite/gas/mips/mips.exp: Expand `mips32r2-sync', + `mips32r2-sync-1', `lui-1' and `lui-2' tests across MIPS16e2 + architectures. Run the new tests. + +2017-05-15 Maciej W. Rozycki + + * testsuite/gas/mips/mips.exp (run_dump_test_arch): Add + `mips16e2@' prefix. + (run_list_test_arch): Likewise. + (mips16e2-32, mips16e2-64): New architectures. + * testsuite/gas/mips/mips16e2-32@mips16-macro.d: New test. + * testsuite/gas/mips/mips16e2-32@mips16-macro-t.d: New test. + * testsuite/gas/mips/mips16e2-32@mips16-macro-e.d: New test. + * testsuite/gas/mips/mips16e2-32@mips16-insn-t.d: New test. + * testsuite/gas/mips/mips16e2-32@mips16-insn-e.d: New test. + * testsuite/gas/mips/mips16e2-32@mips16e-64.d: New test. + * testsuite/gas/mips/mips16e2-32@mips16-sub.d: New test. + * testsuite/gas/mips/mips16e2-32@mips16e-64-sub.d: New test. + * testsuite/gas/mips/mips16e2@relax-swap3.d: New test. + * testsuite/gas/mips/mips16-32@mips16-asmacro.d: Remove `source' + tag. Add `-I$srcdir/$subdir' to `as' flags. + * testsuite/gas/mips/mips16-64@mips16-asmacro.d: Likewise. + * testsuite/gas/mips/mips16e2-32@mips16-macro.l: New stderr + output. + * testsuite/gas/mips/mips16e2-32@mips16-macro-t.l: New stderr + output. + * testsuite/gas/mips/mips16e2-32@mips16-macro-e.l: New stderr + output. + * testsuite/gas/mips/mips16e2-32@mips16-insn-t.l: New stderr + output. + * testsuite/gas/mips/mips16e2-32@mips16-insn-e.l: New stderr + output. + * testsuite/gas/mips/mips16-sub.s: Add `.set nomips16e2'. + * testsuite/gas/mips/mips16e-sub.s: Likewise. + * testsuite/gas/mips/mips16e-64-sub.s: Likewise. + * testsuite/gas/mips/mips16-asmacro.s: Remove `.set mips32'. + * testsuite/gas/mips/mips16-32@mips16-asmacro.s: New test + source. + * testsuite/gas/mips/mips16-64@mips16-asmacro.s: New test + source. + +2017-05-15 Maciej W. Rozycki + Matthew Fortune + Andrew Bennett + + * config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `e2' flag. + (RELAX_MIPS16_E2): New macro. + (RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO) + (RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT) + (RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT) + (RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED) + (RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED) + (RELAX_MIPS16_MARK_ALWAYS_EXTENDED) + (RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED, RELAX_MIPS16_MACRO) + (RELAX_MIPS16_MARK_MACRO, RELAX_MIPS16_CLEAR_MACRO): Shift bits. + (mips16_immed_extend): New prototype. + (options): Add OPTION_MIPS16E2 and OPTION_NO_MIPS16E2 enum + values. + (md_longopts): Add "mmips16e2" and "mno-mips16e2" options. + (mips_ases): Add "mips16e2" entry. + (mips_set_ase): Handle MIPS16e2 ASE. + (insn_insert_operand): Explicitly handle immediates with MIPS16 + instructions that require 32-bit encoding. + (is_opcode_valid_16): Pass enabled ASE bitmask on to + `opcode_is_member'. + (validate_mips_insn): Explicitly handle immediates with MIPS16 + instructions that require 32-bit encoding. + (operand_reg_mask) : Add handler. + (match_reg28_operand): New function. + (match_operand) : Add handler. + (append_insn): Pass ASE_MIPS16E2 setting to RELAX_MIPS16_ENCODE. + (match_mips16_insn): Handle MIPS16 instructions that require + 32-bit encoding and `V' and `u' operand codes. + (mips16_ip): Allow any characters except from `.' in opcodes. + (mips16_immed_extend): Handle 9-bit immediates. Do not shuffle + immediates whose width is not one of these listed. + (md_estimate_size_before_relax): Handle MIPS16e2 relaxation. + (mips_relax_frag): Likewise. + (md_convert_frag): Likewise. + (mips_convert_ase_flags): Handle MIPS16e2 ASE. + + * doc/as.texinfo (Target MIPS options): Add `-mmips16e2' and + `-mno-mips16e2' options. + (-mmips16e2, -mno-mips16e2): New options. + * doc/c-mips.texi (MIPS Options): Add `-mmips16e2' and + `-mno-mips16e2' options. + (MIPS ASE Instruction Generation Overrides): Add `.set mips16e2' + and `.set nomips16e2'. + +2017-05-15 Maciej W. Rozycki + + * config/tc-mips.c (match_int_operand): Call + `match_out_of_range' before returning failure for 0x8000-0xffff + values conditionally allowed. + +2017-05-15 Maciej W. Rozycki + + * config/tc-mips.c (match_int_operand): Call + `match_not_constant' before returning failure for a non-constant + 16-bit immediate conditionally allowed. + +2017-05-15 Maciej W. Rozycki + + * config/tc-mips.c (match_const_int): Call `match_out_of_range' + rather than `match_not_constant' for unrelocated operands + retrieved as an `O_big' expression. + (match_int_operand): Call `match_out_of_range' for relocatable + operands retrieved as an `O_big' expression. + (match_mips16_insn): Call `match_out_of_range' for relaxable + operands retrieved as an `O_big' expression. + * testsuite/gas/mips/addiu-error.d: New test. + * testsuite/gas/mips/mips16@addiu-error.d: New test. + * testsuite/gas/mips/micromips@addiu-error.d: New test. + * testsuite/gas/mips/break-error.d: New test. + * testsuite/gas/mips/lui-1.l: Adjust error message. + * testsuite/gas/mips/addiu-error.l: New stderr output. + * testsuite/gas/mips/mips16@addiu-error.l: New stderr output. + * testsuite/gas/mips/micromips@addiu-error.l: New stderr output. + * testsuite/gas/mips/break-error.l: New stderr output. + * testsuite/gas/mips/addiu-error.s: New test source. + * testsuite/gas/mips/break-error.s: New test source. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2017-05-15 Maciej W. Rozycki + + * config/tc-mips.c (match_mips16_insn): Remove the explicit + OT_INTEGER check before the `match_expression' call. + * testsuite/gas/mips/mips16-insn-e.l: Adjust messages. + * testsuite/gas/mips/mips16-32@mips16-insn-e.l: Likewise. + * testsuite/gas/mips/mips16-64@mips16-insn-e.l: Likewise. + * testsuite/gas/mips/mips16e-32@mips16-insn-e.l: Likewise. + * testsuite/gas/mips/mips16-reg-error.d: New test. + * testsuite/gas/mips/mips16-reg-error.l: New stderr output. + * testsuite/gas/mips/mips16-reg-error.s: New test source. + * testsuite/gas/mips/mips.exp: Run the new test. + +2017-05-15 Maciej W. Rozycki + + * config/tc-mips.c (match_mips16_insn): Call + `match_not_constant' for a disallowed relocation operation. + * testsuite/gas/mips/mips16-reloc-error.d: New test. + * testsuite/gas/mips/mips16-reloc-error.l: New stderr output. + * testsuite/gas/mips/mips16-reloc-error.s: New test source. + * testsuite/gas/mips/mips.exp: Run the new test. + +2017-05-15 Maciej W. Rozycki + + * testsuite/gas/mips/lui-1.d: New test. + * testsuite/gas/mips/lui-2.d: New test. + * gas/testsuite/gas/mips/mips.exp: Fold corresponding list tests + into the new tests. + +2017-05-15 Maciej W. Rozycki + + * config/tc-mips.c (match_const_int): Update description. + +2017-05-15 Maciej W. Rozycki + + * doc/as.texinfo (-mips16, -no-mips16): Refer to `.module + mips16' rather than `.set mips16'. + (-mmicromips, -mno-micromips): Refer to `.module micromips' and + `.module nomicromips' rather than `.set micromips' and `.set + nomicromips'. + (-msmartmips, -mno-smartmips): Refer to `.module smartmips' + rather than `.set smartmips'. + * doc/c-mips.texi (MIPS Options): Refer to `.module mips16', + `.module micromips', `.module nomicromips' and `.module + smartmips' rather than `.set mips16', `.set micromips', `.set + nomicromips' and `.set smartmips' respectively. + +2017-05-12 Maciej W. Rozycki + Matthew Fortune + + * config/tc-mips.c (mips_percent_op): Add "%gprel". + (mips16_percent_op): Add "%gp_rel". + * testsuite/gas/mips/elf-rel8.s:: Add `%gprel' forms. + * testsuite/gas/mips/elf-rel8-mips16.s: Add `%gp_rel' forms. + * testsuite/gas/mips/elf-rel8.d: Adjust accordingly. + * testsuite/gas/mips/elf-rel8-mips16.d: Likewise. + +2017-05-12 Maciej W. Rozycki + + * testsuite/gas/mips/mips16.d: Adjust BREAK disassembly. + * testsuite/gas/mips/mips16-64@mips16.d: Likewise. + * testsuite/gas/mips/mips16-64.d: Likewise. + * testsuite/gas/mips/mips16-64@mips16-64.d: Likewise. + * testsuite/gas/mips/mips16-macro.d: Likewise. + * testsuite/gas/mips/mips16-64@mips16-macro.d: Likewise. + * testsuite/gas/mips/mips16-sub.d: Likewise. + * testsuite/gas/mips/mips16-32@mips16-sub.d: Likewise. + +2017-05-11 Maciej W. Rozycki + + * testsuite/gas/mips/mips32r2-sync-1.d: New test. + * testsuite/gas/mips/micromips@mips32r2-sync-1.d: New test. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2017-05-10 Maciej W. Rozycki + + * testsuite/gas/mips/isa-override-2.d: New test. + * testsuite/gas/mips/mips1@isa-override-2.d: New test. + * testsuite/gas/mips/r3000@isa-override-2.d: New test. + * testsuite/gas/mips/r3900@isa-override-2.d: New test. + * testsuite/gas/mips/mips2@isa-override-2.d: New test. + * testsuite/gas/mips/mips32@isa-override-2.d: New test. + * testsuite/gas/mips/mips32r2@isa-override-2.d: New test. + * testsuite/gas/mips/mips32r3@isa-override-2.d: New test. + * testsuite/gas/mips/mips32r5@isa-override-2.d: New test. + * testsuite/gas/mips/mips32r6@isa-override-2.d: New test. + * testsuite/gas/mips/octeon3@isa-override-2.d: New test. + * testsuite/gas/mips/r3000@isa-override-2.l: Remove list test. + * testsuite/gas/mips/mips1@isa-override-2.s: Remove test source. + * testsuite/gas/mips/r3000@isa-override-2.s: Remove test source. + * testsuite/gas/mips/r3900@isa-override-2.s: Remove test source. + * testsuite/gas/mips/mips2@isa-override-2.s: Remove test source. + * testsuite/gas/mips/mips32@isa-override-2.s: Remove test + source. + * testsuite/gas/mips/mips32r2@isa-override-2.s: Remove test + source. + * testsuite/gas/mips/mips32r3@isa-override-2.s: Remove test + source. + * testsuite/gas/mips/mips32r5@isa-override-2.s: Remove test + source. + * testsuite/gas/mips/mips32r6@isa-override-2.s: Remove test + source. + * testsuite/gas/mips/octeon3@isa-override-2.s: Remove test + source. + * gas/testsuite/gas/mips/mips.exp: Fold corresponding list tests + into the new tests. + +2017-05-10 Maciej W. Rozycki + + * testsuite/gas/mips/mips16e-sub.d: Correct test name. + * testsuite/gas/mips/mips16-32@mips16e-sub.d: Likewise. + * testsuite/gas/mips/mips16-64@mips16e-sub.d: Likewise. + * testsuite/gas/mips/mips16e-64-sub.d: Likewise. + * testsuite/gas/mips/mips16-32@mips16e-64-sub.d: Likewise. + * testsuite/gas/mips/mips16-64@mips16e-64-sub.d: Likewise. + * testsuite/gas/mips/mips16e-32@mips16e-64-sub.d: Likewise. + +2017-05-10 Maciej W. Rozycki + + * testsuite/gas/mips/mips16-macro.l: Remove list test. + +2017-05-10 Maciej W. Rozycki + + * testsuite/gas/mips/r3900@ecoff@ld.d: Remove test. + * testsuite/gas/mips/mips2@ecoff@ld.d: Remove test. + * testsuite/gas/mips/mips32@ecoff@ld.d: Remove test. + * testsuite/gas/mips/mips32r2@ecoff@ld.d: Remove test. + * testsuite/gas/mips/r3900@ecoff@ld-forward.d: Remove test. + * testsuite/gas/mips/mips2@ecoff@ld-forward.d: Remove test. + * testsuite/gas/mips/mips32@ecoff@ld-forward.d: Remove test. + * testsuite/gas/mips/mips32r2@ecoff@ld-forward.d: Remove test. + * testsuite/gas/mips/mips1@ecoff@sd.d: Remove test. + * testsuite/gas/mips/r3000@ecoff@sd.d: Remove test. + * testsuite/gas/mips/r3900@ecoff@sd.d: Remove test. + * testsuite/gas/mips/mips2@ecoff@sd.d: Remove test. + * testsuite/gas/mips/mips32@ecoff@sd.d: Remove test. + * testsuite/gas/mips/mips32r2@ecoff@sd.d: Remove test. + * testsuite/gas/mips/mips1@ecoff@sd-forward.d: Remove test. + * testsuite/gas/mips/r3000@ecoff@sd-forward.d: Remove test. + * testsuite/gas/mips/r3900@ecoff@sd-forward.d: Remove test. + * testsuite/gas/mips/mips2@ecoff@sd-forward.d: Remove test. + * testsuite/gas/mips/mips32@ecoff@sd-forward.d: Remove test. + * testsuite/gas/mips/mips32r2@ecoff@sd-forward.d: Remove test. + +2017-05-10 Claudiu Zissulescu + + * testsuite/gas/arc/attr-arc600.d: New file. + * testsuite/gas/arc/attr-arc600_mul32x16.d: Likewise. + * testsuite/gas/arc/attr-arc600_norm.d: Likewise. + * testsuite/gas/arc/attr-arc601.d: Likewise. + * testsuite/gas/arc/attr-arc601_mul32x16.d: Likewise. + * testsuite/gas/arc/attr-arc601_mul64.d: Likewise. + * testsuite/gas/arc/attr-arc601_norm.d: Likewise. + * testsuite/gas/arc/attr-arc700.d: Likewise. + * testsuite/gas/arc/attr-arcem.d: Likewise. + * testsuite/gas/arc/attr-archs.d: Likewise. + * testsuite/gas/arc/attr-autodetect-1.d: Likewise. + * testsuite/gas/arc/attr-autodetect-1.s: Likewise. + * testsuite/gas/arc/attr-cpu-a601.d: Likewise. + * testsuite/gas/arc/attr-cpu-a601.s: Likewise. + * testsuite/gas/arc/attr-cpu-a700.d: Likewise. + * testsuite/gas/arc/attr-cpu-a700.s: Likewise. + * testsuite/gas/arc/attr-cpu-em.d: Likewise. + * testsuite/gas/arc/attr-cpu-em.s: Likewise. + * testsuite/gas/arc/attr-cpu-hs.d: Likewise. + * testsuite/gas/arc/attr-cpu-hs.s: Likewise. + * testsuite/gas/arc/attr-em.d: Likewise. + * testsuite/gas/arc/attr-em4.d: Likewise. + * testsuite/gas/arc/attr-em4_dmips.d: Likewise. + * testsuite/gas/arc/attr-em4_fpuda.d: Likewise. + * testsuite/gas/arc/attr-em4_fpus.d: Likewise. + * testsuite/gas/arc/attr-hs.d: Likewise. + * testsuite/gas/arc/attr-hs34.d: Likewise. + * testsuite/gas/arc/attr-hs38.d: Likewise. + * testsuite/gas/arc/attr-hs38_linux.d: Likewise. + * testsuite/gas/arc/attr-mul64.d: Likewise. + * testsuite/gas/arc/attr-name.d: Likewise. + * testsuite/gas/arc/attr-name.s: Likewise. + * testsuite/gas/arc/attr-nps400.d: Likewise. + * testsuite/gas/arc/attr-override-mcpu.d: Likewise. + * testsuite/gas/arc/attr-override-mcpu.s + * testsuite/gas/arc/attr-quarkse_em.d: Likewise. + * testsuite/gas/arc/blank.s: Likewise. + * testsuite/gas/elf/section2.e-arc: Likewise. + * testsuite/gas/arc/cpu-pseudop-1.d: Update test. + * testsuite/gas/arc/cpu-pseudop-2.d: Likewise. + * testsuite/gas/arc/nps400-0.d: Likewise. + * testsuite/gas/elf/elf.exp: Set target_machine for ARC. + * config/tc-arc.c (opcode/arc-attrs.h): Include. + (ARC_GET_FLAG, ARC_SET_FLAG, streq): Define. + (arc_attribute): Declare new function. + (md_pseudo_table): Add arc_attribute. + (cpu_types): Rename default cpu features. + (selected_cpu): Set the default OSABI flag. + (mpy_option): New variable. + (pic_option): Likewise. + (sda_option): Likewise. + (tls_option): Likewise. + (feature_type, feature_list): Remove. + (arc_initial_eflag): Likewise. + (attributes_set_explicitly): New variable. + (arc_check_feature): Check also for the conflicting features. + (arc_select_cpu): Refactor assignment of selected_cpu.eflags. + (arc_option): Remove setting of private flags and architecture. + (check_cpu_feature): Refactor feature names. + (autodetect_attributes): New function. + (assemble_tokens): Use above function. + (md_parse_option): Refactor feature names. + (arc_attribute): New function. + (arc_set_attribute_int): Likewise. + (arc_set_attribute_string): Likewise. + (arc_stralloc): Likewise. + (arc_set_public_attributes): Likewise. + (arc_md_end): Likewise. + (arc_copy_symbol_attributes): Likewise. + (rc_convert_symbolic_attribute): Likewise. + * config/tc-arc.h (md_end): Define. + (CONVERT_SYMBOLIC_ATTRIBUTE): Likewise. + (TC_COPY_SYMBOL_ATTRIBUTES): Likewise. + * doc/c-arc.texi: Document ARC object attributes. + +2017-05-03 Maciej W. Rozycki + + * config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `pic', `sym32' and + `nomacro' flags. + (RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO): + New macros. + (RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT) + (RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT) + (RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED) + (RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED) + (RELAX_MIPS16_MARK_ALWAYS_EXTENDED) + (RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): Shift bits. + (RELAX_MIPS16_MACRO, RELAX_MIPS16_MARK_MACRO) + (RELAX_MIPS16_CLEAR_MACRO): New macros. + (append_insn): Pass `mips_pic', HAVE_32BIT_SYMBOLS and + `mips_opts.warn_about_macros' settings to RELAX_MIPS16_ENCODE. + (mips16_macro_frag): New function. + (md_estimate_size_before_relax): Handle HI16/LO16 relaxation. + (mips_relax_frag): Likewise. + (md_convert_frag): Likewise. + + * testsuite/gas/mips/mips16@relax-swap3.d: Remove error output, + add dump patterns. + * testsuite/gas/mips/mips16e@relax-swap3.d: New test + subarchitecture. + * testsuite/gas/mips/micromips@relax-swap3.d: Remove trailing + NOP padding. + * testsuite/gas/mips/mips16-pcrel-reloc-2.d: Remove error + output, add dump patterns. + * testsuite/gas/mips/mips16-pcrel-reloc-3.d: Remove error + output, add dump patterns. + * testsuite/gas/mips/mips16-pcrel-reloc-6.d: Remove error + output, add dump patterns. + * testsuite/gas/mips/mips16-pcrel-reloc-7.d: Remove error + output, add dump patterns. + * testsuite/gas/mips/mips16-pcrel-addend-2.d: Remove error + output, add dump patterns. + * testsuite/gas/mips/mips16-pcrel-addend-3.d: Remove error + output, add dump patterns. + * testsuite/gas/mips/mips16-pcrel-absolute.d: Remove error + output, add dump patterns. + * testsuite/gas/mips/mips16-pcrel-absolute-1.d: Remove error + output, add dump patterns. + * testsuite/gas/mips/mips16@relax-swap3.l: Remove file. + * testsuite/gas/mips/mips16-pcrel-reloc-2.l: Remove file. + * testsuite/gas/mips/mips16-pcrel-reloc-3.l: Remove file. + * testsuite/gas/mips/mips16-pcrel-reloc-6.l: Remove file. + * testsuite/gas/mips/mips16-pcrel-reloc-7.l: Remove file. + * testsuite/gas/mips/mips16-pcrel-addend-2.l: Remove file. + * testsuite/gas/mips/mips16-pcrel-addend-3.l: Remove file. + * testsuite/gas/mips/mips16-pcrel-absolute.l: Remove file. + * testsuite/gas/mips/mips16-pcrel-absolute-1.l: Remove file. + * testsuite/gas/mips/relax-swap3.s: Adjust trailing padding. + + * testsuite/gas/mips/mips16-pcrel-0.d: New test. + * testsuite/gas/mips/mips16-pcrel-1.d: New test. + * testsuite/gas/mips/mips16-pcrel-2.d: New test. + * testsuite/gas/mips/mips16-pcrel-3.d: New test. + * testsuite/gas/mips/mips16-pcrel-4.d: New test. + * testsuite/gas/mips/mips16-pcrel-5.d: New test. + * testsuite/gas/mips/mips16-pcrel-pic-0.d: New test. + * testsuite/gas/mips/mips16-pcrel-pic-1.d: New test. + * testsuite/gas/mips/mips16-pcrel-n32-0.d: New test. + * testsuite/gas/mips/mips16-pcrel-n32-1.d: New test. + * testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: New test. + * testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: New test. + * testsuite/gas/mips/mips16-pcrel-n64-0.d: New test. + * testsuite/gas/mips/mips16-pcrel-n64-1.d: New test. + * testsuite/gas/mips/mips16-pcrel-delay-0.d: New test. + * testsuite/gas/mips/mips16-pcrel-delay-1.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-4.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-5.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-6.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-7.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-8.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-9.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-pic-8.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-pic-9.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-n32-8.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-n32-9.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-n64-8.d: New test. + * testsuite/gas/mips/mips16-pcrel-addend-n64-9.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-2.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-3.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-4.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-5.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-6.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-7.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-4.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d: New + test. + * testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d: New + test. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-4.d: New + test. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-6.d: New + test. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d: New + test. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d: New + test. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-4.d: + New test. + * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-6.d: + New test. + * testsuite/gas/mips/mips16-pcrel-0.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-1.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-2.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-3.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-4.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-5.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-delay-0.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-delay-1.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-addend-8.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-addend-9.l: New stderr output. + * testsuite/gas/mips/mips16-pcrel-absolute-4.l: New stderr + output. + * testsuite/gas/mips/mips16-pcrel-absolute-6.l: New stderr + output. + * testsuite/gas/mips/mips16-pcrel-0.s: New test source. + * testsuite/gas/mips/mips16-pcrel-1.s: New test source. + * testsuite/gas/mips/mips16-pcrel-2.s: New test source. + * testsuite/gas/mips/mips16-pcrel-3.s: New test source. + * testsuite/gas/mips/mips16-pcrel-4.s: New test source. + * testsuite/gas/mips/mips16-pcrel-5.s: New test source. + * testsuite/gas/mips/mips16-pcrel-delay-0.s: New test source. + * testsuite/gas/mips/mips16-pcrel-delay-1.s: New test source. + * testsuite/gas/mips/mips16-pcrel-addend-4.s: New test source. + * testsuite/gas/mips/mips16-pcrel-addend-5.s: New test source. + * testsuite/gas/mips/mips16-pcrel-addend-6.s: New test source. + * testsuite/gas/mips/mips16-pcrel-addend-7.s: New test source. + * testsuite/gas/mips/mips16-pcrel-addend-8.s: New test source. + * testsuite/gas/mips/mips16-pcrel-addend-9.s: New test source. + * testsuite/gas/mips/mips16-pcrel-absolute-2.s: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-3.s: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-4.s: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-5.s: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-6.s: New test. + * testsuite/gas/mips/mips16-pcrel-absolute-7.s: New test. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2017-05-03 Nick Clifton + + PR gas/20941 + * symbols.c (snapshot_symbol): Handle the case where + resolve_expression returns a local symbol. + +2017-05-02 Maciej W. Rozycki + + * config/tc-mips.c (append_insn): Call `symbol_append' for any + expression symbol created for MIPS16 relaxation. + (match_mips16_insn): Don't encode a constant value as an + immediate with a PC-relative operand. + + * testsuite/gas/mips/mips16-pcrel-absolute-1.d: New test. + * testsuite/gas/mips/mips16-branch-absolute-1.d: New test. + * testsuite/gas/mips/mips16-branch-absolute-2.d: New test. + * testsuite/gas/mips/mips16-branch-absolute-addend-1.d: New + test. + * testsuite/gas/mips/mips16-branch-absolute-n32-1.d: New test. + * testsuite/gas/mips/mips16-branch-absolute-n32-2.d: New test. + * testsuite/gas/mips/mips16-branch-absolute-addend-n32-1.d: New + test. + * testsuite/gas/mips/mips16-branch-absolute-n64-1.d: New test. + * testsuite/gas/mips/mips16-branch-absolute-n64-2.d: New test. + * testsuite/gas/mips/mips16-branch-absolute-addend-n64-1.d: New + test. + * testsuite/gas/mips/mips16-pcrel-absolute-1.l: New stderr + output. + * testsuite/gas/mips/mips16-pcrel-absolute-1.s: New test source. + * testsuite/gas/mips/mips16-branch-absolute-1.s: New test + source. + * testsuite/gas/mips/mips16-branch-absolute-2.s: New test + source. + * testsuite/gas/mips/mips16-branch-absolute-addend-1.s: New test + source. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2017-04-27 Maciej W. Rozycki + + * config/tc-mips.c (mips16_pcrel_val): New function, factored + out from... + (mips16_extended_frag): ... here. + (md_convert_frag): Use `mips16_pcrel_val' rather than repeated + code in MIPS16 relaxation, with `stretch' hardcoded to 0. + +2017-04-27 Maciej W. Rozycki + + * config/tc-mips.c (RELAX_MIPS16_LONG_BRANCH): Rename to... + (RELAX_MIPS16_ALWAYS_EXTENDED): ... this. + (RELAX_MIPS16_MARK_LONG_BRANCH): Rename to... + (RELAX_MIPS16_MARK_ALWAYS_EXTENDED): ... this. + (RELAX_MIPS16_CLEAR_LONG_BRANCH): Rename to... + (RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): ... this. + (mips16_extended_frag): Adjust accordingly. + +2017-04-27 Alan Modra + + * symbols.c (S_FORCE_RELOC): Separate section and symbol tests. + 2017-04-26 Maciej W. Rozycki * config/tc-mips.c (RELAX_ENCODE): Add `PIC' flag.