X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gas%2FChangeLog;h=1eefec93bf691202e00c337d66cd1e03cc8d01d9;hb=8b301fbb6114faba4e95e24e3a1c3108f64885c6;hp=482ab08c2969f694d2f10ba584f63ab0017968a7;hpb=a48931cc2df9f87596d93b319236c73ef0fe0f4e;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/ChangeLog b/gas/ChangeLog index 482ab08c29..1eefec93bf 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,519 @@ +2019-11-22 Mihail Ionescu + + * config/tc-arm.c (arm_ext_crc): New. + (crc_ext_armv8): Remove. + (insns): Rename crc_ext_armv8 to arm_ext_crc. + (arm_cpus): Replace CRC_EXT_ARMV8 with ARM_EXT2_CRC. + (armv8a_ext_table, armv8r_ext_table, + arm_option_extension_value_table): Redefine the crc + extension in terms of ARM_EXT2_CRC. + * gas/testsuite/gas/arm/crc-ext.s: New. + * gas/testsuite/gas/arm/crc-ext.d: New. + +2019-11-20 Alan Modra + + PR 24944 + * atof-generic.c (atof_generic): Increase decimal guard digits. + * testsuite/gas/i386/fp.s: Add more tests. + * testsuite/gas/i386/fp.d: Update. + +2019-11-18 Andrew Burgess + + * as.c (parse_args): Parse --gdwarf-cie-version option. + (flag_dwarf_cie_version): New variable. + * as.h (flag_dwarf_cie_version): Declare. + * dw2gencfi.c (output_cie): Switch from DW_CIE_VERSION to + flag_dwarf_cie_version. + * doc/as.texi (Overview): Document --gdwarf-cie-version. + * NEWS: Likewise. + * testsuite/gas/cfi/cfi.exp: Add new tests. + * testsuite/gas/cfi/cie-version-0.d: New file. + * testsuite/gas/cfi/cie-version-1.d: New file. + * testsuite/gas/cfi/cie-version-2.d: New file. + * testsuite/gas/cfi/cie-version-3.d: New file. + * testsuite/gas/cfi/cie-version-4.d: New file. + * testsuite/gas/cfi/cie-version.s: New file. + +2019-11-14 Jan Beulich + + * config/tc-i386.c (operand_size_match, md_assemble, + parse_insn, match_template, process_suffix, output_jump, + output_insn, i386_displacement): Adjust jump* field use/ + handling. + * config/tc-i386-intel.c (i386_intel_operand): Likewise. + +2019-11-14 Jan Beulich + + * config/tc-i386.c (struct _i386_insn): Add jumpabsolute field. + (operand_type_match): Drop jumpabsolute use. + (type_names): Remove OPERAND_TYPE_JUMPABSOLUTE entry. + (process_suffix, i386_displacement): Adjust jumpabsolute uses. + (match_template, i386_att_operand): Adjust jumpabsolute + handling. + * config/tc-i386-intel.c (i386_intel_operand): Likewise. + +2019-11-14 Jan Beulich + + * config/tc-i386.c (operand_size_match): Adjust anysize use. + +2019-11-14 Jan Beulich + + * testsuite/gas/i386/intel-cmps32.d, + testsuite/gas/i386/intel-cmps64.d: Correct regexp closing + parentheses placement. + +2019-11-14 Jan Beulich + + * testsuite/gas/i386/intel-cmps.s, + testsuite/gas/i386/intel-movs.s: Extend. + * testsuite/gas/i386/intel-cmps32.d, + testsuite/gas/i386/intel-cmps64.d, + testsuite/gas/i386/intel-movs32.d, + testsuite/gas/i386/intel-movs64.d: Adjust expectations. + * testsuite/gas/i386/intel-cmps16.d, + testsuite/gas/i386/intel-movs16.d: New. + * testsuite/gas/i386/i386.exp: Run new tests. + +2019-11-12 Nelson Chu + + * testsuite/gas/riscv/insn.d: Add the f extension to -march option. + +2019-11-12 Mihail Ionescu + + * config/tc-arm.c (do_vfp_nsyn_push): Move in order to enable it for + both fpu_vfp_ext_v1xd and mve_ext and add call to the aliased vstm + instruction for mve_ext. + (do_vfp_nsyn_pop): Move in order to enable it for both + fpu_vfp_ext_v1xd and mve_ext and add call to the aliased vldm + instruction for mve_ext. + (do_neon_ldm_stm): Add fpu_vfp_ext_v1 and mve_ext checks. + (insns): Enable vldm, vldmia, vldmdb, vstm, vstmia, vstmdb, vpop, + vpush, and fldd, fstd, flds, fsts for arm_ext_v6t2 instead + of fpu_vfp_ext_v1xd. + * testsuite/gas/arm/v8_1m-mve.s: New. + * testsuite/gas/arm/v8_1m-mve.d: New. + +2019-11-12 Mihail Ionescu + + * gas/config/tc-arm.c (do_neon_mvn): Allow mve_ext cmode=0xd. + * testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.s: New test. + * testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.d: Likewise. + +2019-11-12 Mihail Ionescu + + * config/tc-arm.c (s_arm_fpu): Clear selected_cpu fpu bits. + (fpu_any): Remove OBJ_ELF guards. + * testsuite/gas/arm/fpu-rst.s: New. + * testsuite/gas/arm/fpu-rst.d: New. + * testsuite/gas/arm/fpu-rst.l: New. + +2019-11-12 Jan Beulich + + * config/tc-i386.c (type_names): Remove OPERAND_TYPE_ESSEG + entry. + (md_assemble): Adjust isstring field use. Add assertion. + (check_string): Mostly re-write. + (i386_index_check): Adjust isstring field use and related code. + +2019-11-12 Jan Beulich + + * config/tc-i386.c (process_immext): Remove SSE3, SVME, and + MWAITX special case logic. + (process_suffix): Replace immext field uses by instance ones. + * testsuite/gas/i386/arch-13.s, + testsuite/gas/i386/x86-64-arch-3.s: Add CLZERO with operand + cases. + * testsuite/gas/i386/svme.s: Add 16-bit operand cases. + * testsuite/gas/i386/x86-64-specific-reg.s: Drop FIXME comments. + * testsuite/gas/i386/arch-13.d, + testsuite/gas/i386/mwaitx-reg.l, testsuite/gas/i386/svme.d, + testsuite/gas/i386/x86-64-arch-3.d, + testsuite/gas/i386/x86-64-mwaitx-reg.l, + testsuite/gas/i386/x86-64-specific-reg.l: Adjust expectations. + +2019-11-12 Jan Beulich + + * config/tc-i386.c (operand_type_set, operand_type_and, + operand_type_and_not, operand_type_or, operand_type_xor): Handle + "instance" field specially. + (operand_size_match, md_assemble, match_template, process_suffix, + check_byte_reg, check_long_reg, check_qword_reg, check_word_reg, + process_operands, build_modrm_byte): Use "instance" instead of + "acc" / "inoutportreg" / "shiftcount" fields. + (optimize_imm): Adjust comment. + +2019-11-11 Jan Beulich + + * testsuite/gas/aarch64/illegal-sve2.s: Add smaxp/sminp cases + with mismatched 1st and 3rd operands. + * testsuite/gas/aarch64/illegal-sve2.l: Adjust expectations. + +2019-11-08 H.J. Lu + + PR gas/25167 + * config/tc-i386.c (match_template): Don't check instruction + suffix set from operand. + * testsuite/gas/i386/code16.d: New file. + * testsuite/gas/i386/code16.s: Likewise. + * testsuite/gas/i386/i386.exp: Run code16. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (optimize_encoding, build_modrm_byte, + check_VecOperations, parse_real_register): Use "class" instead + of "regmask" and "regbnd" fields. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (match_mem_size, operand_size_match, + operand_type_register_match, pi, check_VecOperands, match_template, + check_byte_reg, check_long_reg, check_qword_reg, process_operands, + build_modrm_byte, parse_real_register): Use "class" instead of + "regsimd" / "regmmx" fields. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (pi, check_byte_reg, build_modrm_byte, + parse_real_register): Use "class" instead of "control"/"debug"/ + "test" fields. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (pi, check_byte_reg, process_operands, + build_modrm_byte, i386_att_operand, parse_real_register): Use + "class" instead of "sreg" field. + * config/tc-i386-intel.c (i386_intel_simplify_register, + i386_intel_operand): Likewise. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (operand_type_set, operand_type_and, + operand_type_and_not, operand_type_or, operand_type_xor): Handle + "class" field specially. + (anyimm): New. + (operand_type_check, operand_size_match, + operand_type_register_match, pi, md_assemble, is_short_form, + process_suffix, check_byte_reg, check_long_reg, check_qword_reg, + check_word_reg, process_operands, build_modrm_byte): Use "class" + instead of "reg" field. + (optimize_imm): Likewise. Reduce redundancy. Adjust calculation + of "allowed". + +2019-11-07 Mihail Ionescu + + * testsuite/gas/aarch64/dgh.s: New test. + * testsuite/gas/aarch64/dgh.d: New test. + +2019-11-07 Mihail Ionescu + + * config/tc-arm.c (arm_ext_i8mm): New feature set. + (do_vusdot): New. + (do_vsudot): New. + (do_vsmmla): New. + (do_vummla): New. + (insns): Add vsmmla, vummla, vusmmla, vusdot, vsudot mnemonics. + (armv86a_ext_table): Add i8mm extension. + (arm_extensions): Move bf16 extension to context sensitive table. + (armv82a_ext_table, armv84a_ext_table, armv85a_ext_table): + Move bf16 extension to context sensitive table. + (armv86a_ext_table): Add i8mm extension. + * doc/c-arm.texi: Document i8mm extension. + * testsuite/gas/arm/i8mm.s: New test. + * testsuite/gas/arm/i8mm.d: New test. + * testsuite/gas/arm/bfloat17-cmdline-bad-3.d: Update test. + +2019-11-07 Mihail Ionescu + + * config/tc-aarch64.c: Add new arch fetures to suppport the mm extension. + (parse_operands): Add new operand. + * testsuite/gas/aarch64/i8mm.s: New test. + * testsuite/gas/aarch64/i8mm.d: New test. + * testsuite/gas/aarch64/f32mm.s: New test. + * testsuite/gas/aarch64/f32mm.d: New test. + * testsuite/gas/aarch64/f64mm.s: New test. + * testsuite/gas/aarch64/f64mm.d: New test. + * testsuite/gas/aarch64/sve-movprfx-mm.s: New test. + * testsuite/gas/aarch64/sve-movprfx-mm.d: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Barnaby Wilks + + * config/tc-aarch64.c (md_atof): Add encoding for the bfloat16 format. + * testsuite/gas/aarch64/bfloat16-directive-le.d: New test. + * testsuite/gas/aarch64/bfloat16-directive-be.d: New test. + * testsuite/gas/aarch64/bfloat16-directive.s: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Barnaby Wilks + + * config/tc-arm.c (md_atof): Add encoding for bfloat16 + * testsuite/gas/arm/bfloat16-directive-le.d: New test. + * testsuite/gas/arm/bfloat16-directive-be.d: New test. + * testsuite/gas/arm/bfloat16-directive.s: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Barnaby Wilks + + * as.h (atof_ieee_detail): Add prototype for atof_ieee_detail function. + (atof_ieee): Move some code into the atof_ieee_detail function. + (atof_ieee_detail): Add function that provides a higher level of + control over generating IEEE-like numbers. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * config/tc-arm.c (arm_archs): Add armv8.6-a option. + (cpu_arch_ver): Add TAG_CPU_ARCH_V8 tag for Armv8.6-a. + * doc/c-arm.texi (-march): New armv8.6-a arch. + * config/tc-arm.c (arm_ext_bf16): New feature set. + (enum neon_el_type): Add NT_bfloat value. + (B_MNEM_vfmat, B_MNEM_vfmab): New bfloat16 encoder + helpers. + (BAD_BF16): New message. + (parse_neon_type): Add bf16 type specifier. + (enum neon_type_mask): Add N_BF16 type. + (type_chk_of_el_type): Account for NT_bfloat. + (el_type_of_type_chk): Account for N_BF16. + (neon_three_args): Split out from neon_three_same. + (neon_three_same): Part split out into neon_three_args. + (CVT_FLAVOUR_VAR): Add bf16_f32 cvt flavour. + (do_neon_cvt_1): Account for vcvt.bf16.f32. + (do_bfloat_vmla): New. + (do_mve_vfma): New function to deal with the mnemonic clash between the BF16 + vfmat and the MVE vfma in a VPT block with a 't'rue condition. + (do_neon_cvttb_1): Account for vcvt{t,b}.bf16.f32. + (do_vdot): New + (do_vmmla): New + (insns): Add vdot and vmmla mnemonics. + (arm_extensions): Add "bf16" extension. + * doc/c-arm.texi: Document "bf16" extension. + * testsuite/gas/arm/attr-march-armv8_6-a.d: New test. + * testsuite/gas/arm/bfloat16-bad.d: New test. + * testsuite/gas/arm/bfloat16-bad.l: New test. + * testsuite/gas/arm/bfloat16-bad.s: New test. + * testsuite/gas/arm/bfloat16-cmdline-bad-2.d: New test. + * testsuite/gas/arm/bfloat16-cmdline-bad-3.d: New test. + * testsuite/gas/arm/bfloat16-cmdline-bad.d: New test. + * testsuite/gas/arm/bfloat16-neon.s: New test. + * testsuite/gas/arm/bfloat16-non-neon.s: New test. + * testsuite/gas/arm/bfloat16-thumb-bad.d: New test. + * testsuite/gas/arm/bfloat16-thumb-bad.l: New test. + * testsuite/gas/arm/bfloat16-thumb.d: New test. + * testsuite/gas/arm/bfloat16-vfp.d: New test. + * testsuite/gas/arm/bfloat16.d: New test. + * testsuite/gas/arm/bfloat16.s: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * config/tc-aarch64.c (vectype_to_qualifier): Special case the + S_2H operand qualifier. + * doc/c-aarch64.texi: Document bf16 extension. + * testsuite/gas/aarch64/bfloat16.d: New test. + * testsuite/gas/aarch64/bfloat16.s: New test. + * testsuite/gas/aarch64/illegal-bfloat16.d: New test. + * testsuite/gas/aarch64/illegal-bfloat16.l: New test. + * testsuite/gas/aarch64/illegal-bfloat16.s: New test. + * testsuite/gas/aarch64/sve-bfloat-movprfx.s: New test. + * testsuite/gas/aarch64/sve-bfloat-movprfx.d: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * config/tc-aarch64.c (armv8.6-a): New arch. + * doc/c-aarch64.texi (armv8.6-a): Document new arch. + +2019-11-07 Jan Beulich + + * config/tc-i386.c (cpu_arch): Add .rdpru and .mcommit entries. + * doc/c-i386.texi: Mention rdpru and mcommit. + * testsuite/gas/i386/arch-13.s, + testsuite/gas/i386/x86-64-arch-3.s: Add mcommit and rdpru cases. + * testsuite/gas/i386/arch-13.d, + testsuite/gas/i386/x86-64-arch-3.d: Extend -march=. Adjust + expectations. + * testsuite/gas/i386/arch-13-znver1.d: Extend -march=. Redirect + expectations to arch-13.d. + * testsuite/gas/i386/arch-13-znver2.d: Redirect expectations to + arch-13.d. + testsuite/gas/i386/x86-64-arch-3-znver1.d: Extend -march=. + +2019-11-07 Jan Beulich + + * testsuite/gas/i386/x86-64-arch-3.s: Add monitorx/mwaitx cases + with canonical operand sizes. + * testsuite/gas/i386/x86-64-sse3.s: Add monitor/mwait cases with + canonical operand sizes. + * testsuite/gas/i386/x86-64-arch-3-znver1.d, + testsuite/gas/i386/x86-64-arch-3-znver2.d: Redirect expectations + to x86-64-arch-3.d. + * testsuite/gas/i386/ilp32/x86-64-sse-noavx.d: Redirect + expectations to parent dir's x86-64-sse-noavx.d. + * testsuite/gas/i386/ilp32/x86-64-sse3.d: Redirect expectations + to to parent dir's x86-64-sse3.d. + * testsuite/gas/i386/x86-64-arch-3.d, + testsuite/gas/i386/x86-64-mwaitx-bdver4.d, + testsuite/gas/i386/x86-64-sse-noavx.d, + testsuite/gas/i386/x86-64-sse3.d, + testsuite/gas/i386/x86-64-suffix.d: Adjust expectations. + +2019-11-04 Jan Beulich + + * config/tc-i386.c (process_operands): Handle ShortForm insns + later, splitting out their segment register sub-form. + +2019-10-31 H.J. Lu + + * testsuite/gas/i386/general.s: Add .code16gcc fldenv tests. + * testsuite/gas/i386/general.l: Updated. + +2019-10-31 Mihail Ionescu + + * config/tc-arm.c (selected_ctx_ext_table) New static variable. + (arm_parse_arch): Set context sensitive extension table based on the + chosen base architecture. + (s_arm_arch_extension): Change to lookup extensions in the new context + sensitive tables. + * gas/testsuite/gas/arm/mve-ext.s: New. + * gas/testsuite/gas/arm/mve-ext.d: New. + * gas/testsuite/gas/arm/mvefp-ext.s: New. + * gas/testsuite/gas/arm/mvefp-ext.d: New. + +2019-10-30 Delia Burduv + + * config/tc-aarch64.c (parse_address_main): Accept the omission of + the immediate argument for ldraa and ldrab as a shorthand for the + immediate being 0. + * testsuite/gas/aarch64/ldraa-ldrab-no-offset.d: New test. + * testsuite/gas/aarch64/ldraa-ldrab-no-offset.s: New test. + * testsuite/gas/aarch64/illegal-ldraa.s: Modified to accept the + writeback form with no offset. + * testsuite/gas/aarch64/illegal-ldraa.s: Removed missing offset + error. + +2019-10-30 Jan Beulich + + * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.s, + testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.s, + testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.s: New. + * testsuite/gas/i386/i386.exp: Run new tests. + +2019-10-30 Jan Beulich + + * config/tc-i386.c (optimize_encoding): Adjust opcodes compared + against. Adjust replacement opcode and clear .w. + +2019-10-29 Alan Modra + + PR 25125 + * dw2gencfi.c (output_cfi_insn): Don't allow DW_CFA_advance_loc4 + to be placed in a different frag to the rs_cfa. + +2019-10-26 John David Anglin + + PR gas/25121 + * config/tc-hppa.c (tc_gen_reloc): Cast some enums to int. + (md_assemble): Likewise. + +2019-10-26 Alan Modra + + PR 25125 + * dw2gencfi.c (output_cfi_insn): Don't output DW_CFA_advance_loc+0. + * ehopt.c (eh_frame_estimate_size_before_relax): Return -1 for + an advance_loc of zero. + (eh_frame_relax_frag): Translate fr_subtype of 7 to size -1. + (eh_frame_convert_frag): Handle fr_subtype of 7. Abort on + unexpected fr_subtype. + +2019-10-25 Alan Modra + + PR gas/25125 + PR gas/12049 + * write.c (relax_frag): Correct calculation of delta for + positive branches where "stretch" would make the branch + negative. Return zero immediately in that case. Correct + TC_PCREL_ADJUST comment. + +2019-10-16 Alan Modra + + * config/tc-xtensa.c (xg_order_trampoline_chain_entry): Don't + call S_GET_VALUE multiple times for a symbol. Rearrange code + so it is obvious what is the primary sort key. + (xg_order_trampoline_chain): Similarly. + +2019-10-15 Alan Modra + + * config/tc-nds32.c (nds32_set_section_relocs): Use relocs and n + parameters rather than equivalent sec->orelocation and + sec->reloc_count. Don't sort for n <= 1. Tidy. + +2019-10-09 Nick Clifton + + PR 25041 + * testsuite/gas/avr/pr25041.s: New test. + * testsuite/gas/avr/pr25041.d: New test driver. + +2019-10-07 Jozef Lawrynowicz + + * config/tc-msp430.c (md_parse_option): Set lower_data_region_only + to FALSE if the data region is set to "upper", "either" or "none". + (msp430_object_attribute): New. + (md_pseudo_table): Handle .mspabi_attribute and .gnu_attribute. + (msp430_md_end): Replace hard-coded attribute values with enums. + Handle data region object attribute. + * doc/as.texi: Document MSP430 Data Region object attribute. + * doc/c-msp430.texi: Document the .mspabi_attribute directive. + * testsuite/gas/msp430/attr-430-small-bad.d: New test. + * testsuite/gas/msp430/attr-430-small-bad.l: New test. + * testsuite/gas/msp430/attr-430-small-good.d: New test. + * testsuite/gas/msp430/attr-430-small.s: New test. + * testsuite/gas/msp430/attr-430x-large-any-bad.d: New test. + * testsuite/gas/msp430/attr-430x-large-any-bad.l: New test. + * testsuite/gas/msp430/attr-430x-large-any-good.d: New test. + * testsuite/gas/msp430/attr-430x-large-any.s: New test. + * testsuite/gas/msp430/attr-430x-large-lower-bad.d: New test. + * testsuite/gas/msp430/attr-430x-large-lower-bad.l: New test. + * testsuite/gas/msp430/attr-430x-large-lower-good.d: New test. + * testsuite/gas/msp430/attr-430x-large-lower.s: New test. + * testsuite/gas/msp430/msp430.exp: Run new tests. + +2019-10-07 Jan Beulich + + * config/tc-i386.c (check_string): Make reported operand number + depend on Intel syntax. + * testsuite/gas/i386/intel-cmps.s, + testsuite/gas/i386/intel-cmps32.d, + testsuite/gas/i386/intel-cmps64.d: New. + * testsuite/gas/i386/i386.exp: Run new tests. + * testsuite/gas/i386/intel-movs.s: Extend. + * testsuite/gas/i386/intel-movs32.d, + testsuite/gas/i386/intel-movs64.d: Adjust expectations. + * testsuite/gas/i386/string-bad.l: Tighten expectations. + +2019-09-24 Tamar Christina + + PR gas/24991 + * config/tc-arm.c (out_of_range_p): New. + (md_apply_fix): Use it in BFD_RELOC_THUMB_PCREL_BRANCH9, + BFD_RELOC_THUMB_PCREL_BRANCH12, BFD_RELOC_THUMB_PCREL_BRANCH20, + BFD_RELOC_THUMB_PCREL_BRANCH23, BFD_RELOC_THUMB_PCREL_BRANCH25 + * testsuite/gas/arm/pr24991.d: New test. + * testsuite/gas/arm/pr24991.l: New test. + * testsuite/gas/arm/pr24991.s: New test. + +2019-09-23 Alan Modra + + * config/obj-ecoff.c: Include ecoff-bfd.h. + * config/obj-elf.c: Likewise. + +2019-09-23 Alan Modra + + * config/tc-arm.c: Include cpu-arm.h. + +2019-09-21 Alan Modra + + * config/tc-i386.c (md_parse_option): Fix warning on vexwig assignment. + 2019-09-20 Alan Modra * config/tc-tic6x.c (tc_gen_reloc): Correct common symbol check.