[PATCH 19/57][Arm][GAS] Add support for MVE instructions: vmax[nm][a] and vmin[nm][a]
[deliverable/binutils-gdb.git] / gas / ChangeLog
index ecb3702d7818891896fc931740b682feba2d0833..37ae72e0b710e7d6f50dfab28337d415ad4d8e0a 100644 (file)
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (do_mve_vmaxa_vmina): New encoding function.
+       (do_mve_vmaxnma_vminnma): Likewise.
+       (do_neon_dyadic_if_su): Change to support MVE variants.
+       (do_vmaxnm): Likewise.
+       (insns): Change to accept MVE variants and add new.
+       * testsuite/gas/arm/mve-vmax-vmin-bad.d: New test.
+       * testsuite/gas/arm/mve-vmax-vmin-bad.l: New test.
+       * testsuite/gas/arm/mve-vmax-vmin-bad.s: New test.
+       * testsuite/gas/arm/mve-vmaxa-vmina-bad.d: New test.
+       * testsuite/gas/arm/mve-vmaxa-vmina-bad.l: New test.
+       * testsuite/gas/arm/mve-vmaxa-vmina-bad.s: New test.
+       * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.d: New test.
+       * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.l: New test.
+       * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.s: New test.
+       * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.d: New test.
+       * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.l: New test.
+       * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (enum operand_parse_code): New operand.
+       (parse_operands): Handle new operand.
+       (mve_encode_qqr): Change to support new instructions.
+       (enum vfp_or_neon_is_neon_bits): Moved.
+       (vfp_or_neon_is_neon): Moved.
+       (check_simd_pred_availability): Moved.
+       (do_neon_dyadic_i_su): Changed to support MVE variants.
+       (neon_dyadic_misc): Changed mve_encode_qqr call.
+       (do_mve_vbrsr): Likewise.
+       (do_mve_vhcadd): New encoding function.
+       (insns): Change existing to accept MVE variants and add new.
+       * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.d: New test.
+       * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.l: New test.
+       * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.s: New test.
+       * testsuite/gas/arm/mve-vhcadd-bad.d: New test.
+       * testsuite/gas/arm/mve-vhcadd-bad.l: New test.
+       * testsuite/gas/arm/mve-vhcadd-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (do_neon_fmac): Change to support MVE variants.
+       (insns): Change to accept MVE variants.
+       * testsuite/gas/arm/mve-vfma-vfms-bad.d: New test.
+       * testsuite/gas/arm/mve-vfma-vfms-bad.l: New test.
+       * testsuite/gas/arm/mve-vfma-vfms-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (M_MNEM_vddup, M_MNEM_vdwdup, M_MNEM_vidup,
+        M_MNEM_viwdup): New instruction encodings.
+       (NEON_SHAPE_DEF): New shapes.
+       (do_mve_viddup): New encoding function.
+       (do_neon_dup): Change to support new MVE variants.
+       (insns): Change existing to accept MVE variants and add new.
+       * testsuite/gas/arm/mve-vddup-bad.d: New test.
+       * testsuite/gas/arm/mve-vddup-bad.l: New test.
+       * testsuite/gas/arm/mve-vddup-bad.s: New test.
+       * testsuite/gas/arm/mve-vdup-bad.d: New test.
+       * testsuite/gas/arm/mve-vdup-bad.l: New test.
+       * testsuite/gas/arm/mve-vdup-bad.s: New test.
+       * testsuite/gas/arm/mve-vidup-bad.d: New test.
+       * testsuite/gas/arm/mve-vidup-bad.l: New test.
+       * testsuite/gas/arm/mve-vidup-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (do_mve_vfmas): New encoding function.
+       (do_neon_cls): Change to support MVE variants.
+       (do_neon_clz): Change to support MVE variants.
+       (insns): Change to support MVE variants and add new.
+       * testsuite/gas/arm/mve-vcls-bad.d: New test.
+       * testsuite/gas/arm/mve-vcls-bad.l: New test.
+       * testsuite/gas/arm/mve-vcls-bad.s: New test.
+       * testsuite/gas/arm/mve-vclz-bad.d: New test.
+       * testsuite/gas/arm/mve-vclz-bad.l: New test.
+       * testsuite/gas/arm/mve-vclz-bad.s: New test.
+       * testsuite/gas/arm/mve-vfmas-bad.d: New test.
+       * testsuite/gas/arm/mve-vfmas-bad.l: New test.
+       * testsuite/gas/arm/mve-vfmas-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (enum operand_parse_code): New operands.
+       (parse_operands): Handle new operands.
+       (do_mve_vcmul): New encoding function.
+       (do_vcmla): Change to support MVE variants.
+       (do_vcadd): Change to support MVE variants.
+       (insns): Change existing to support MVE variants and add new.
+       * testsuite/gas/arm/mve-vcadd-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vcadd-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vcadd-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vcadd-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vcadd-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vcadd-bad-2.s: New test.
+       * testsuite/gas/arm/mve-vcmla-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vcmla-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vcmla-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vcmla-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vcmla-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vcmla-bad-2.s: New test.
+       * testsuite/gas/arm/mve-vcmul-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vcmul-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vcmul-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vcmul-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vcmul-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vcmul-bad-2.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (enum operand_parse_code): New operands.
+       (parse_operands): Handle new operands.
+       (enum vfp_or_neon_is_neon_bits): Moved
+       (vfp_or_neon_is_neon): Moved
+       (check_simd_pred_availability): Moved.
+       (do_neon_logic): Change to accept MVE variants.
+       (insns): Changed to accept MVE variants.
+       * testsuite/gas/arm/mve-vand-bad.d: New test.
+       * testsuite/gas/arm/mve-vand-bad.l: New test.
+       * testsuite/gas/arm/mve-vand-bad.s: New test.
+       * testsuite/gas/arm/mve-vbic-bad.d: New test.
+       * testsuite/gas/arm/mve-vbic-bad.l: New test.
+       * testsuite/gas/arm/mve-vbic-bad.s: New test.
+       * testsuite/gas/arm/mve-veor-bad.d: New test.
+       * testsuite/gas/arm/mve-veor-bad.l: New test.
+       * testsuite/gas/arm/mve-veor-bad.s: New test.
+       * testsuite/gas/arm/mve-vorn-bad.d: New test.
+       * testsuite/gas/arm/mve-vorn-bad.l: New test.
+       * testsuite/gas/arm/mve-vorn-bad.s: New test.
+       * testsuite/gas/arm/mve-vorr-bad.d: New test.
+       * testsuite/gas/arm/mve-vorr-bad.l: New test.
+       * testsuite/gas/arm/mve-vorr-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (M_MNEM_vaddlv, M_MNEM_vaddlva, M_MNEM_vaddv,
+        M_MNEM_vaddva): New instruction encodings.
+       (mve_encode_rq): New encoding helper function.
+       (do_mve_vaddlv): New encoding function.
+       (do_mve_vaddv): New encoding function.
+       * testsuite/gas/arm/mve-vaddlv-bad.d: New test.
+       * testsuite/gas/arm/mve-vaddlv-bad.l: New test.
+       * testsuite/gas/arm/mve-vaddlv-bad.s: New test.
+       * testsuite/gas/arm/mve-vaddv-bad.d: New test.
+       * testsuite/gas/arm/mve-vaddv-bad.l: New test.
+       * testsuite/gas/arm/mve-vaddv-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (M_MNEM_vadc, M_MNEM_vadci, M_MNEM_vbrsr):
+       New instruction encodings.
+       (do_mve_vadc): New encoding instruction.
+       (do_mve_vbrsr): Likewise.
+       (do_mve_vsbc): Likewise.
+       * testsuite/gas/arm/mve-vadc-bad.d: New test.
+       * testsuite/gas/arm/mve-vadc-bad.l: New test.
+       * testsuite/gas/arm/mve-vadc-bad.s: New test.
+       * testsuite/gas/arm/mve-vbrsr-bad.d: New test.
+       * testsuite/gas/arm/mve-vbrsr-bad.l: New test.
+       * testsuite/gas/arm/mve-vbrsr-bad.s: New test.
+       * testsuite/gas/arm/mve-vsbc-bad.d: New test.
+       * testsuite/gas/arm/mve-vsbc-bad.l: New test.
+       * testsuite/gas/arm/mve-vsbc-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (MVE_BAD_QREG): New error message.
+       (enum operand_parse_code): Define new operand.
+       (parse_operands): Handle new operand.
+       (do_mve_vpt): Change for VPT blocks.
+       (NEON_SHAPE_DEF): New shape.
+       (neon_logbits): Moved.
+       (LOW4): Moved
+       (HI1): Moved
+       (mve_get_vcmp_vpt_cond): New function to translate vpt conditions.
+       (do_mve_vcmp): New encoding function.
+       (do_vfp_nsyn_cmp): Changed to support MVE variants.
+       (insns): Change to support MVE variants of vcmp and add vpt.
+       * testsuite/gas/arm/mve-vcmp-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vcmp-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vcmp-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vcmp-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vcmp-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vcmp-bad-2.s: New test.
+       * testsuite/gas/arm/mve-vpt-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vpt-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vpt-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vpt-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vpt-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vpt-bad-2.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (struct arm_it): Expand isscalar field to be able to
+       distinguish between types of scalar.
+       (parse_typed_reg_or_scalar): Change to accept MVE scalar variants.
+       (parse_scalar): Likewise.
+       (parse_neon_mov): Accept MVE variant.
+       (po_scalar_or_goto): Make use reg_type.
+       (parse_operands): Change uses of po_scalar_or_goto.
+       (do_vfp_sp_monadic): Change to accept MVE variants.
+       (do_vfp_reg_from_sp): Likewise.
+       (do_vfp_sp_from_reg): Likewise.
+       (do_vfp_dp_rd_rm): Likewise.
+       (do_vfp_dp_rd_rn_rm): Likewise.
+       (do_vfp_dp_rm_rd_rn): Likewise.
+       (M_MNEM_vmovlt, M_MNEM_vmovlb, M_MNEM_vmovnt, M_MNEM_vmovnb): New
+       instruction encodings.
+       (NEON_SHAPE_DEF): New shape.
+       (do_mve_mov): New encoding fuction.
+       (do_mve_movn): Likewise.
+       (do_mve_movl): Likewise.
+       (do_neon_mov): Change to accept MVE variants.
+       (mcCE): New MACRO.
+       (insns): Accept new MVE variants and instructions.
+       * testsuite/gas/arm/mve-vmov-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vmov-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vmov-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vmov-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vmov-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vmov-bad-2.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (enum operand_parse_code): Add new operand.
+       (parse_operands): Handle new operand.
+       (do_neon_cvt_1): Handle MVE variants.
+       (do_neon_cvttb_1): Likewise.
+       (insns): Accept MVE variants.
+       * testsuite/gas/arm/mve-vcvt-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-2.s: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-3.d: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-3.l: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-3.s: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-4.d: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-4.l: New test.
+       * testsuite/gas/arm/mve-vcvt-bad-4.s: New test.
+       * testsuite/gas/arm/mve-vcvt-bad.d: New test.
+       * testsuite/gas/arm/mve-vcvt-bad.l: New test.
+       * testsuite/gas/arm/mve-vcvt-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (struct arm_it): Make immisreg field larger to hold
+       type of register.
+       (enum shift_kind): Add SHIFT_UXTW shift kind.
+       (enum parse_shift_mode): Add SHIFT_UXTW_IMMEDIATE shift mode.
+       (parse_shift): Handle new shift type.
+       (parse_address_main): Accept new addressing modes.
+       (M_MNEM_vstrb, M_MNEM_vstrh, M_MNEM_vstrw, M_MNEM_vstrd,
+        M_MNEM_vldrb, M_MNEM_vldrh, M_MNEM_vldrw, M_MNEM_vldrd): New
+       instruction encodings.
+       (do_mve_vstr_vldr_QI): New encoding functions.
+       (do_mve_vstr_vldr_RQ): Likewise.
+       (do_mve_vstr_vldr_RI): Likewise.
+       (do_mve_vstr_vldr): Likewise.
+       * testsuite/gas/arm/mve-vldr-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vldr-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vldr-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vldr-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vldr-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vldr-bad-2.s: New test.
+       * testsuite/gas/arm/mve-vldr-bad-3.d: New test.
+       * testsuite/gas/arm/mve-vldr-bad-3.l: New test.
+       * testsuite/gas/arm/mve-vldr-bad-3.s: New test.
+       * testsuite/gas/arm/mve-vstr-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vstr-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vstr-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vstr-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vstr-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vstr-bad-2.s: New test.
+       * testsuite/gas/arm/mve-vstr-bad-3.d: New test.
+       * testsuite/gas/arm/mve-vstr-bad-3.l: New test.
+       * testsuite/gas/arm/mve-vstr-bad-3.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (enum it_instruction_type): Add MVE_UNPREDICABLE_INSN.
+       (BAD_EL_TYPE): New error message.
+       (parse_neon_el_struct_list): Adapt to be able to accept MVE variant.
+       (parse_address_main): Likewise.
+       (group_reloc_type): Add GROUP_MVE.
+       (enum operand_parse_code): Add new operands.
+       (parse_operands): Handle new operands.
+       (M_MNEM_vst20, M_MNEM_vst21, M_MNEM_vst40, M_MNEM_vst41, M_MNEM_vst42,
+        M_MNEM_vst43, M_MNEM_vld20, M_MNEM_vld21, M_MNEM_vld40, M_MNEM_vld41,
+        M_MNEM_vld42, M_MNEM_vld43): New encodings.
+       (do_mve_vst_vld): New encoding function.
+       (do_neon_ld_st_interleave): Use BAD_EL_TYPE.
+       (it_fsm_pre_encode): Handle new it_instruction_type
+       (handle_pred_state): Likewise.
+       * testsuite/gas/arm/mve-vstld-bad.d: New test.
+       * testsuite/gas/arm/mve-vstld-bad.l: New test.
+       * testsuite/gas/arm/mve-vstld-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (BAD_MVE_AUTO): New error message.
+       (BAD_MVE_SRCDEST): Likewise.
+       (mark_feature_used): Diagnose MVE only instructions when in
+       auto-detection mode or -march=all.
+       (enum operand_parse_code): Define new operand.
+       (parse_operands): Handle new operand.
+       (M_MNEM_vmullt, M_MNEM_vmullb): New encodings.
+       (mve_encode_qqq): New encoding helper function.
+       (do_mve_vmull): New encoding function.
+       (insns): Handle new instructions.
+       * testsuite/gas/arm/mve-vmullbt-bad.d: New test.
+       * testsuite/gas/arm/mve-vmullbt-bad.l: New test.
+       * testsuite/gas/arm/mve-vmullbt-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (struct asm_opcode): Make avalue a full int.
+       (BAD_ODD, BAD_EVEN, BAD_SIMD_TYPE): New errors.
+       (enum operand_parse_code): Handle new operands.
+       (parse_operands): Likewise.
+       (M_MNEM_vabav, M_MNEM_vmladav, M_MNEM_vmladava, M_MNEM_vmladavx,
+        M_MNEM_vmladavax, M_MNEM_vmlsdav, M_MNEM_vmlsdava, M_MNEM_vmlsdavx,
+        M_MNEM_vmlsdavax): Define new encodings.
+       (NEON_SHAPE_DEF): Add new shape.
+       (neon_check_type): Use BAD_SIMD_TYPE.
+       (mve_encode_rqq): New encoding helper function.
+       (do_mve_vabav, do_mve_vmladav): New encoding functions.
+       (mCEF): New MACRO.
+       * testsuite/gas/arm/mve-vabav-bad.d: New test.
+       * testsuite/gas/arm/mve-vabav-bad.l: New test.
+       * testsuite/gas/arm/mve-vabav-bad.s: New test.
+       * testsuite/gas/arm/mve-vmladav-bad.d: New test.
+       * testsuite/gas/arm/mve-vmladav-bad.l: New test.
+       * testsuite/gas/arm/mve-vmladav-bad.s: New test.
+       * testsuite/gas/arm/mve-vmlav-bad.d: New test.
+       * testsuite/gas/arm/mve-vmlav-bad.l: New test.
+       * testsuite/gas/arm/mve-vmlav-bad.s: New test.
+       * testsuite/gas/arm/mve-vmlsdav-bad.d: New test.
+       * testsuite/gas/arm/mve-vmlsdav-bad.l: New test.
+       * testsuite/gas/arm/mve-vmlsdav-bad.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (do_neon_abs_neg): Make it accept MVE variant.
+       (insns): Change vabs and vneg entries to accept MVE variants.
+       * testsuite/gas/arm/mve-vabsneg-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vabsneg-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vabsneg-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vabsneg-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vabsneg-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vabsneg-bad-2.s: New test.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (enum it_instruction_type): Rename to...
+       (enum pred_instruction_type): ... this. Include VPT types.
+       (it_insn_type): Rename to ...
+       (pred_insn_type): .. this.
+       (arm_it): Change comment.
+       (enum arm_reg_type): Add new value.
+       (reg_expected_msgs): New entry.
+       (asm_opcode): Add mayBeVecPred member.
+       (BAD_SYNTAX, BAD_NOT_VPT, BAD_OUT_VPT, BAD_VPT_COND, MVE_NOT_IT,
+        MVE_NOT_VPT, MVE_BAD_PC, MVE_BAD_SP): New diagnostic MACROS.
+       (arm_vcond_hsh): New table for vector condition codes.
+       (now_it): Rename to ...
+       (now_pred): ... this.
+       (now_it_compatible): Rename to ...
+       (now_pred_compatible): ... this.
+       (in_it_block): Rename to ...
+       (in_pred_block): ... this.
+       (handle_it_state): Rename to ...
+       (handle_pred_state): ... this. And change it to accept VPT blocks.
+       (set_it_insn_type): Rename to ...
+       (set_pred_insn_type): ... this.
+       (set_it_insn_type_nonvoid): Rename to ...
+       (set_pred_insn_type_nonvoid): ... this.
+       (set_it_insn_type_last): Rename to ...
+       (set_pred_insn_type_last): ... this.
+       (record_feature_use): Moved.
+       (mark_feature_used): Likewise.
+       (parse_typed_reg_or_scalar): Add new case for REG_TYPE_MQ.
+       (emit_insn): Use renamed functions and variables.
+       (enum operand_parse_code): Add new operands.
+       (parse_operands): Handle new operands.
+       (do_scalar_fp16_v82_encode): Change predication detection.
+       (do_it): Use renamed functions and variables.
+       (do_t_add_sub): Likewise.
+       (do_t_arit3): Likewise.
+       (do_t_arit3c): Likewise.
+       (do_t_blx): Likewise.
+       (do_t_branch): Likewise.
+       (do_t_bkpt_hlt1): Likewise.
+       (do_t_branch23): Likewise.
+       (do_t_bx): Likewise.
+       (do_t_bxj): Likewise.
+       (do_t_cond): Likewise.
+       (do_t_csdb): Likewise.
+       (do_t_cps): Likewise.
+       (do_t_cpsi): Likewise.
+       (do_t_cbz): Likewise.
+       (do_t_it): Likewise.
+       (do_mve_vpt): New function to handle VPT blocks.
+       (encode_thumb2_multi): Use renamed functions and variables.
+       (do_t_ldst): Use renamed functions and variables.
+       (do_t_mov_cmp): Likewise.
+       (do_t_mvn_tst): Likewise.
+       (do_t_mul): Likewise.
+       (do_t_nop): Likewise.
+       (do_t_neg): Likewise.
+       (do_t_rsb): Likewise.
+       (do_t_setend): Likewise.
+       (do_t_shift): Likewise.
+       (do_t_smc): Likewise.
+       (do_t_tb): Likewise.
+       (do_t_udf): Likewise.
+       (do_t_loloop): Likewise.
+       (do_neon_cvt_1): Likewise.
+       (do_vfp_nsyn_cvt_fpv8): Likewise.
+       (do_vsel): Likewise.
+       (do_vmaxnm): Likewise.
+       (do_vrint_1): Likewise.
+       (do_crypto_2op_1): Likewise.
+       (do_crypto_3op_1): Likewise.
+       (do_crc32_1): Likewise.
+       (it_fsm_pre_encode): Likewise.
+       (it_fsm_post_encode): Likewise.
+       (force_automatic_it_block_close): Likewise.
+       (check_it_blocks_finished): Likewise.
+       (check_pred_blocks_finished): Likewise.
+       (arm_cleanup): Likewise.
+       (now_it_add_mask): Rename to ...
+       (now_pred_add_mask): ... this. And use new variables and functions.
+       (NEON_ENC_TAB): Add entries for vabdl, vaddl and vsubl.
+       (N_I_MVE, N_F_MVE, N_SU_MVE): New MACROs.
+       (neon_check_type): Generalize error message.
+       (mve_encode_qqr): New MVE generic encoding function.
+       (neon_dyadic_misc): Change to accept MVE variants.
+       (do_neon_dyadic_if_su): Likewise.
+       (do_neon_addsub_if_i): Likewise.
+       (do_neon_dyadic_long): Likewise.
+       (vfp_or_neon_is_neon): Add extra checks.
+       (check_simd_pred_availability): Helper function to check SIMD
+       instruction availability with respect to predication.
+       (enum opcode_tag): New suffix value.
+       (opcode_lookup): Change to handle VPT blocks.
+       (new_automatic_it_block): Rename to ...
+       (close_automatic_it_block): ...this.
+       (TxCE, TxC3, TxC3w, TUE, TUEc, TUF, CE, C3, ToC, ToU,
+        toC, toU, CL, cCE, cCL, C3E, xCM_, UE, UF, NUF, nUF,
+        NCE_tag, NCE, NCEF, nCE_tag, nCE, nCEF): Add default value for new
+       field.
+       (mCEF, mnCEF, mnCE, MNUF, mnUF, mToC, MNCE, MNCEF): New MACROs.
+       (insns): Redefine vadd, vsub, cabd, vabdl, vaddl, vsubl to accept MVE
+       variants. Add entries for vscclrm, and vpst.
+       (md_begin): Add arm_vcond_hsh initialization.
+       * config/tc-arm.h (enum it_state): Rename to...
+       (enum pred_state): ...this.
+       (struct current_it): Rename to...
+       (struct current_pred): ...this.
+       (enum pred_type): New enum.
+       (struct arm_segment_info_type): Use current_pred.
+       * testsuite/gas/arm/armv8_3-a-fp-bad.l: Update error message.
+       * testsuite/gas/arm/armv8_3-a-simd-bad.l: Update error message.
+       * testsuite/gas/arm/dotprod-illegal.l: Update error message.
+       * testsuite/gas/arm/mve-vaddsubabd-bad-1.d: New test.
+       * testsuite/gas/arm/mve-vaddsubabd-bad-1.l: New test.
+       * testsuite/gas/arm/mve-vaddsubabd-bad-1.s: New test.
+       * testsuite/gas/arm/mve-vaddsubabd-bad-2.d: New test.
+       * testsuite/gas/arm/mve-vaddsubabd-bad-2.l: New test.
+       * testsuite/gas/arm/mve-vaddsubabd-bad-2.s: New test.
+       * testsuite/gas/arm/mve-vpst-bad.d: New test.
+       * testsuite/gas/arm/mve-vpst-bad.l: New test.
+       * testsuite/gas/arm/mve-vpst-bad.s: New test.
+       * testsuite/gas/arm/neon-ldst-es-bad.l: Updated error message.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/tc-arm.c (mve_ext, mve_fp_ext): New features.
+       (armv8_1m_main_ext_table): Add new extensions.
+       (aeabi_set_public_attributes): Translate new features to new build attributes.
+       (arm_convert_symbolic_attribute): Add Tag_MVE_arch.
+       * doc/c-arm.texi: Document new extensions and new build attribute.
+
+2019-05-15  John Darrington <john@darrington.wattle.id.au>
+
+       * config/tc-s12z.c (register_prefix): New variable.  (md_show_usage,
+       md_parse_option):  parse the new option.
+       (lex_reg_name): Scan the prefix if one is set.
+       * doc/c-s12z.texi (S12Z-Opts): Document the new option.
+       * testsuite/gas/s12z/reg-prefix.d: New file.
+       * testsuite/gas/s12z/reg-prefix.s: New file.
+       * testsuite/gas/s12z/s12z.exp: Add them.
+
+2019-05-14  John Darrington <john@darrington.wattle.id.au>
+
+       * doc/as.texi (Machine Dependencies): Fix misaligned menu entry.
+
+2019-05-15  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-csky.c (md_convert_frag): Initialise trailing
+       padding for COND_JUMP_PIC.
+
+2019-05-15  Alan Modra  <amodra@gmail.com>
+
+       * dwarf2dbg.c: Whitespace fixes.
+       (get_filenum): Don't strdup "file".  Adjust error message.
+       (dwarf2_directive_filename): Use an unsigned type for "num".
+       Catch truncation of file number and overflow of get_filenum
+       XRESIZEVEC multiplication.  Delete dead code.
+
+2019-05-15  Alan Modra  <amodra@gmail.com>
+
+       PR 24538
+       * config/tc-tic54x.c (tic54x_start_line_hook): Do skip end of line
+       chars in setting endp.
+
+2019-05-14  Nick Clifton  <nickc@redhat.com>
+
+       PR 24538
+       * config/tc-i386-intel.c (i386_intel_simplify_register): Reject
+       illegal register numbers.
+
+2019-05-10  Nick Clifton  <nickc@redhat.com>
+
+       PR 24538
+       * macro.c (get_any_string): Increase size of buffer used to hold
+       decimal value of expression result.
+       * dw2gencfi.c (get_debugseg_name): Handle an empty name.
+       * dwarf2dbg.c (get_filenum): Catch integer wraparound when
+       extending allocate file array.
+       (dwarf2_directive_filename): Add extra checks of the computed file
+       number.
+       * config/tc-arm.c (arm_tc_equal_in_insn): Insert copy of name into
+       warning hash table.
+       (s_arm_eabi_attribute): Check for obj_elf_vendor_attribute
+       returning -1.
+       * config/tc-i386.c (i386_output_nops): Catch an attempt to
+       generate nops of negative lengths.
+       * as.h (MAX_LITTLENUMS): Move definition to here from...
+       * config/atof-ieee.c: ...here.
+       * config/tc-aarch64.c: ...here.
+       * config/tc-arc.c: ...here.
+       * config/tc-arm.c: ...here.
+       * config/tc-epiphany.c: ...here.
+       * config/tc-i386.c: ...here.
+       * config/tc-ia64.c: ...here.  (And correct the value).
+       * config/tc-m32c.c: ...here.
+       * config/tc-m32r.c: ...here.
+       * config/tc-metag.c: ...here.
+       * config/tc-microblaze.c: ...here.
+       * config/tc-nds32.c: ...here.
+       * config/tc-or1k.c: ...here.
+       * config/tc-score.c: ...here.
+       * config/tc-score7.c: ...here.
+       * config/tc-tic4x.c: ...here.
+       * config/tc-tilegx.c: ...here.
+       * config/tc-tilepro.c: ...here.
+       * config/tc-visium.c: ...here.
+       * config/tc-sh.c (md_assemble): Add check for an instruction with
+       no opcodes.
+       * config/tc-mips.c (mips_lookup_insn): Add check for very short
+       instruction name.
+       * config/tc-tic54x.c: Use unsigned chars to access is_end_of_line
+       array.
+       (tic54x_start_line_hook): Check for an empty line.
+       (next_line_shows_parallel): Do not walk off the end of the string.
+       (tic54x_macro_start): Check for too much macro nesting.
+       (tic54x_start_label): Add label_start parameter.  Use this
+       parameter to check the first character of the label.
+
+       * config/tc-tic54x.h (TC_START_LABEL_WITHOUT_COLON): Pass
+       line_start variable to tic54x_start_label.
+
+2019-05-10  Faraz Shahbazker  <fshahbazker@wavecomp.com>
+
+       * config/tc-mips.c (macro) <M_ADD_I, M_SUB_I, M_DADD_I, M_DSUB_I>:
+       Add expansions for MIPS r6.
+       * testsuite/gas/mips/add.s: Enable tests for R6.
+       * testsuite/gas/mips/daddi.s: Annotate to test DADD for R6.
+       * testsuite/gas/mips/mipsr6@add.d: Likewise.
+       * gas/testsuite/gas/mips/mipsr6@dadd.d: New test.
+       * gas/testsuite/gas/mips/mips.exp: Run the new test.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * testsuite/gas/aarch64/sve2.d: Remove file format restriction.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * testsuite/gas/aarch64/illegal-sve2-aes.d: New test.
+       * testsuite/gas/aarch64/illegal-sve2-bitperm.d: New test.
+       * testsuite/gas/aarch64/illegal-sve2-sha3.d: Test new instructions.
+       * testsuite/gas/aarch64/illegal-sve2-sm4.d: Test new instructions.
+       * testsuite/gas/aarch64/illegal-sve2-sve1ext.d: Test new instructions.
+       * testsuite/gas/aarch64/illegal-sve2-sve1ext.l: Test new instructions.
+       * testsuite/gas/aarch64/illegal-sve2.d: Test new instructions.
+       * testsuite/gas/aarch64/illegal-sve2.l: Test new instructions.
+       * testsuite/gas/aarch64/illegal-sve2.s: Test new instructions.
+       * testsuite/gas/aarch64/sve1-extended-sve2.s: New test.
+       * testsuite/gas/aarch64/sve2.d: Test new instructions.
+       * testsuite/gas/aarch64/sve2.s: Test new instructions.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/tc-aarch64.c (parse_operands): Handle new SVE_SHLIMM_UNPRED_22
+       operand.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm4_11_INDEX
+       operand.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/tc-aarch64.c (parse_operands): Handle new SVE_SHRIMM_UNPRED_22
+       operand.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/tc-aarch64.c (REG_ZR): Macro specifying zero register.
+       (parse_address_main): Account for new addressing mode [Zn.S, Xm].
+       (parse_operands): Handle new SVE_ADDR_ZX operand.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm3_11_INDEX
+       operand.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/tc-aarch64.c (parse_operands): Handle new SVE_IMM_ROT3 operand.
+
+2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/tc-aarch64.c: Add command line architecture feature flags
+       "sve2", "sve2-sm4", "sve2-aes", "sve2-sha3", "bitperm".
+       * doc/c-aarch64.texi: Document new architecture feature flags.
+
+2019-05-08  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/gas/elf/dwarf2-1.s,
+       * testsuite/gas/elf/dwarf2-2.s,
+       * testsuite/gas/elf/dwarf2-5.s,
+       * testsuite/gas/elf/dwarf2-7.s,
+       * testsuite/gas/elf/dwarf2-8.s,
+       * testsuite/gas/elf/dwarf2-9.s,
+       * testsuite/gas/elf/dwarf2-10.s,
+       * testsuite/gas/elf/dwarf2-11.s,
+       * testsuite/gas/elf/dwarf2-12.s,
+       * testsuite/gas/elf/dwarf2-13.s,
+       * testsuite/gas/elf/dwarf2-14.s,
+       * testsuite/gas/elf/dwarf2-15.s,
+       * testsuite/gas/elf/dwarf2-16.s,
+       * testsuite/gas/elf/dwarf2-17.s,
+       * testsuite/gas/elf/dwarf2-18.s,
+       * testsuite/gas/elf/dwarf2-19.s: Double size of align and simulated
+       instructions.
+       * testsuite/gas/elf/dwarf2-1.d,
+       * testsuite/gas/elf/dwarf2-2.d,
+       * testsuite/gas/elf/dwarf2-5.d,
+       * testsuite/gas/elf/dwarf2-7.d,
+       * testsuite/gas/elf/dwarf2-8.d,
+       * testsuite/gas/elf/dwarf2-9.d,
+       * testsuite/gas/elf/dwarf2-10.d,
+       * testsuite/gas/elf/dwarf2-11.d,
+       * testsuite/gas/elf/dwarf2-12.d,
+       * testsuite/gas/elf/dwarf2-13.d,
+       * testsuite/gas/elf/dwarf2-14.d,
+       * testsuite/gas/elf/dwarf2-15.d,
+       * testsuite/gas/elf/dwarf2-16.d,
+       * testsuite/gas/elf/dwarf2-17.d,
+       * testsuite/gas/elf/dwarf2-18.d,
+       * testsuite/gas/elf/dwarf2-19.d: Use xfail rather than notarget.
+       Remove avr, pru, tile, xtensa from xfails.  Update expected output.
+       * testsuite/gas/elf/elf.exp: Sort targets.
+       (dump_opts): Pass {as -mno-relax} for riscv, {as -mno-link-relax}
+       for avr and pru, and {as --no-link-relax} for xtensa to dwarf tests.
+       * testsuite/gas/elf/section2.e-miwmmxt: Delete unused file.
+
+2019-05-08  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-xtensa.c (opt_linkrelax): New variable.
+       (md_parse_option): Set it here.
+       (md_begin): Copy opt_linkrelax to linkrelax.
+
+2019-05-07  Alexandre Oliva <aoliva@redhat.com>
+
+       * testsuite/gas/elf/dwarf2-18.d: Xfail mep-*.
+       * testsuite/gas/elf/dwarf2-19.d: Likewise.
+
+2019-05-07  Alan Modra  <amodra@gmail.com>
+
+       * symbols.c (use_complex_relocs_for): Formatting.  Factor out
+       X_add_symbol tests.
+
+2019-05-06  Andrew Bennett  <andrew.bennett@imgtec.com>
+           Faraz Shahbazker  <fshahbazker@wavecomp.com>
+
+       * config/tc-mips.c (mips_set_ase): Handle ASE_EVA_R6.
+       (macro) <M_LLWPE_AB, M_SCWPE_AB>: New cases.
+       (mips_after_parse_args): Translate EVA to EVA_R6.
+       * testsuite/gas/mips/ase-errors-1.s: Add new instructions.
+       * testsuite/gas/mips/eva.s: Likewise.
+       * testsuite/gas/mips/ase-errors-1.l: Check errors for
+        new instructions.
+       * testsuite/gas/mips/mipsr6@eva.d: Check new test cases.
+
+2019-05-06  Alan Modra  <amodra@gmail.com>
+
+       * symbols.c (symbol_relc_make_sym): Do not access sym->sy_value
+       directly.
+
+2019-05-06  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT
+       relocs, and VLE sdarel relocs.
+       * testsuite/gas/ppc/power4.d: Adjust.
+
+2019-05-05  Alexandre Oliva <aoliva@redhat.com>
+
+       * dwarf2dbg.c (set_or_check_view): Skip heads when assigning
+       views of prior locs.
+       (dwarf2_gen_line_info_1): Skip heads.
+       (size_inc_line_addr, emit_inc_line_addr): Drop
+       DW_LNS_advance_pc for zero addr delta.
+       (dwarf2_finish): Assign views for heads of segments.
+       * testsuite/gas/elf/dwarf2-19.d: New.
+       * testsuite/gas/elf/dwarf2-19.s: New.
+       * testsuite/gas/elf/elf.exp: Test it.
+
+2019-05-04  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-m32c.c (insn_size): Delete static var.
+       (md_begin): Don't set it.
+       (m32c_md_end): Delete.
+       (md_assemble): Add insn_size auto var.
+       * config/tc-m32c.h (md_end): Don't define.
+       (m32c_md_end): Delete.
+       (NOP_OPCODE, HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): Define.
+       * testsuite/gas/all/align.d: Remove m32c from notarget list.
+       * testsuite/gas/all/incbin.d: Likewise.
+       * testsuite/gas/elf/dwarf2-11.d: Likewise.
+       * testsuite/gas/macros/semi.d: Likewise.
+       * testsuite/gas/all/gas.exp (do_comment): Similarly.
+
+2019-05-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/24485
+       * config/tc-i386.c (process_suffix): Issue a warning to IRET
+       without a suffix for .code16gcc.
+       * testsuite/gas/i386/jump16.s: Add tests for iretX.
+       * testsuite/gas/i386/jump16.d: Updated.
+       * testsuite/gas/i386/jump16.e: New file.
+
+2019-05-01  Sudakshina Das  <sudi.das@arm.com>
+
+       * config/tc-aarch64.c (parse_operands): Add case for
+       AARCH64_OPND_TME_UIMM16.
+       (aarch64_features): Add "tme".
+       * doc/c-aarch64.texi: Document the same.
+       * testsuite/gas/aarch64/tme-invalid.d: New test.
+       * testsuite/gas/aarch64/tme-invalid.l: New test.
+       * testsuite/gas/aarch64/tme-invalid.s: New test.
+       * testsuite/gas/aarch64/tme.d: New test.
+       * testsuite/gas/aarch64/tme.s: New test.
+
+2019-04-29  John Darrington <john@darrington.wattle.id.au>
+
+       * testsuite/gas/s12z/truncated.d: New file.
+       * testsuite/gas/s12z/truncated.s: New file.
+       * testsuite/gas/s12z/s12z.exp: Add new test.
+
+2019-04-26  Andrew Bennett  <andrew.bennett@imgtec.com>
+           Faraz Shahbazker  <fshahbazker@wavecomp.com>
+
+       * config/tc-mips.c (macro) <M_LLWP_AB, M_LLDP_AB, M_SCWP_AB,
+       M_SCDP_AB>: New cases and expansions for paired instructions.
+       * testsuite/gas/mips/llpscp-32.s: New test source.
+       * testsuite/gas/mips/llpscp-64.s: Likewise.
+       * testsuite/gas/mips/llpscp-32.d: New test.
+       * testsuite/gas/mips/llpscp-64.d: Likewise.
+       * testsuite/gas/mips/mips.exp: Run the new tests.
+       * testsuite/gas/mips/r6.s: Add new instructions to test source.
+       * testsuite/gas/mips/r6-64.s: Likewise.
+       * testsuite/gas/mips/r6-64-n32.d: Check new instructions.
+       * testsuite/gas/mips/r6-64-n64.d: Likewise.
+       * testsuite/gas/mips/r6-n32.d: Likewise.
+       * testsuite/gas/mips/r6-n64.d: Likwwise.
+       * testsuite/gas/mips/r6.d: Likewise.
+
+2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/24485
+       * config/tc-i386.c (process_suffix): Don't add DATA_PREFIX_OPCODE
+       to IRET for .code16gcc.
+       * testsuite/gas/i386/jump16.s: Add IRET tests.
+       * testsuite/gas/i386/jump16.d: Updated.
+
+2019-04-25  Alexandre Oliva  <aoliva@redhat.com>
+           Alan Modra  <amodra@gmail.com>
+
+       PR gas/24444
+       * frags.c (frag_gtoffset_p): New.
+       * frags.h (frag_gtoffset_p): Declare it.
+       * expr.c (resolve_expression): Use it.
+
+2019-04-24  Alan Modra  <amodra@gmail.com>
+
+       PR 24444
+       * symbols.c (resolve_symbol_value): When handling symbols
+       marked as sy_flags.resolved, return correct value for the
+       case of expression symbols left as an O_symbol expression.
+       Merge O_symbol code handling undefined and common symbols with
+       code handling special cases of expression symbols.  Use
+       seg_left to test for undefined and common symbols.  Don't
+       leave an O_symbol expression when X_add_symbol resolves to
+       the absolute_section.  Init final_val later.
+       * testsuite/gas/mmix/basep-7.d: Adjust expected output.
+
+2019-04-24  John Darrington <john@darrington.wattle.id.au>
+
+       * testsuite/gas/s12z/bit-manip-invalid.s: Extend test for BSET
+       and BCLR instructions with an invalid mode.
+       * testsuite/gas/s12z/bit-manip-invalid.d: ditto.
+
+2019-04-19  Nick Clifton  <nickc@redhat.com>
+
+       PR 24464
+       * config/tc-rx.h (md_relax_frag): Pass the max_iterations variable
+       to the relaxation function.
+       * config/tc-rx.c (rx_relax_frag): Add new parameter - the maximum
+       number of iterations.  Make sure that our internal iteration limit
+       does not exceed this external iteration limit.
+
+2019-04-18  Matthew Fortune  <matthew.fortune@mips.com>
+
+       * config/tc-mips.c (match_non_zero_reg_operand): Update
+       warning message.
+       * testsuite/gas/mips/r6-branch-constraints.l: Likewise.
+
+2019-04-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/tc-msp430.c (msp430_make_init_symbols): Define
+       __crt0_run_{preinit,init,fini}_array symbols if
+       .{preinit,init,fini}_array sections exist.
+       * testsuite/gas/msp430/fini-array.d: New test.
+       * testsuite/gas/msp430/init-array.d: New test.
+       * testsuite/gas/msp430/preinit-array.d: New test.
+       * testsuite/gas/msp430/fini-array.s: New test source.
+       * testsuite/gas/msp430/init-array.s: New test source.
+       * testsuite/gas/msp430/preinit-array.s: New test source.
+       * testsuite/gas/msp430/msp430.exp: Add new tests to driver.
+
+2019-04-17  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss
+       symbol when .lower.bss or .either.bss sections exist.
+       Define __crt0_movedata when .lower.data or .either.data sections exist.
+       * testsuite/gas/msp430/either-data-bss-sym.d: New test.
+       * testsuite/gas/msp430/low-data-bss-sym.d: New test.
+       * testsuite/gas/msp430/either-data-bss-sym.s: New test source.
+       * testsuite/gas/msp430/low-data-bss-sym.s: New test source.
+       * testsuite/gas/msp430/msp430.exp: Run new tests.
+       Enable large code model when running -mdata-region={upper,either}
+       tests.
+
+2019-04-17  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/tc-msp430.c (options): New OPTION_UNKNOWN_INTR_NOPS,
+       OPTION_NO_UNKNOWN_INTR_NOPS and do_unknown_interrupt_nops.
+       (md_parse_option): Handle OPTION_UNKNOWN_INTR_NOPS and
+       OPTION_NO_UNKNOWN_INTR_NOPS by setting do_unknown_interrupt_nops
+       accordingly.
+       (md_show_usage): Likewise.
+       (md_shortopts): Add "mu" for OPTION_UNKNOWN_INTR_NOPS and
+       "mU" for OPTION_NO_UNKNOWN_INTR_NOPS.
+       (md_longopts): Likewise.
+       (warn_eint_nop): Update comment.
+       (warn_unsure_interrupt): Don't warn if prev_insn_is_nop or
+       prev_insn_is_dint or we are assembling for 430 ISA.
+       (msp430_operands): Only call warn_unsure_interrupt if
+       do_unknown_interrupt_nops == TRUE.
+       * testsuite/gas/msp430/nop-unknown-intr.s: New test source file.
+       * testsuite/gas/msp430/nop-unknown-intr-430.d: New test.
+       * testsuite/gas/msp430/nop-unknown-intr-430x.d: New test.
+       * testsuite/gas/msp430/nop-unknown-intr-430x-ignore.d: New test.
+       * testsuite/gas/msp430/nop-unknown-intr-430.l: Warning output for new
+       test.
+       * testsuite/gas/msp430/nop-unknown-intr-430x.l: Likewise.
+       * testsuite/gas/msp430/msp430.exp: Add new tests to driver.
+
+2019-04-16  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/gas/all/weakref1.d: xfail nds32.
+
+2019-04-16  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/gas/all/gas.exp: Remove ns32k xfails.
+       * testsuite/gas/all/weakref1u.d: Don't run for ns32k-*-*.
+
+2019-04-16  Alan Modra  <amodra@gmail.com>
+
+       * write.h: Don't include bit_fix.h.
+       (struct fix): Rearrange some fields.  Delete fx_im_disp and
+       fx_bit_fixP.  Use bitfields for fx_size and fx_pcrel_adjust.
+       * write.c (fix_new_internal): Don't init fx_im_disp and fx_bit_fixP.
+       (fixup_segment): Don't exclude overflow checks on fx_bit_fixP.
+       (print_fixup): Don't print im_disp.
+       * config/tc-cris.c (md_apply_fix): Remove tests of fx_bit_fixP
+       and fx_im_disp.
+       * config/tc-dlx.c (md_apply_fix): Remove wrong debug code.  Set
+       fx_no_overflow when fx_bit_fixP.
+       * config/tc-dlx.h: Include bit_fix.h.
+       (TC_FIX_TYPE, tc_fix_data, TC_INIT_FIX_DATA): Define.
+       * config/tc-ns32k.c (fix_new_ns32k, fix_new_ns32k_exp): Set
+       fx_no_overflow when bit_fixP.
+       * config/tc-ns32k.h (TC_FIX_TYPE): Add fx_bit_fixP and fx_im_disp.
+       (fix_im_disp, fix_bit_fixP): Adjust to suit.
+       (TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
+
+2019-04-16  Alan Modra  <amodra@gmail.com>
+
+       * write.h (struct fix <fx_where>): Make unsigned.
+       (fix_new, fix_at_start, fix_new_exp): Adjust prototypes.
+       * write.c (fix_new, fix_new_exp, fix_at_start): Make "where" and
+       "size" parameters unsigned long.
+       (fix_new_internal): Likewise.  Adjust error format string to suit.
+       * config/tc-mips.c (md_convert_frag): Remove cast of fx_where.
+       * config/tc-sparc.c (md_apply_fix): Likewise.
+       * config/tc-score.c (s3_convert_frag): Adjust for unsigned fx_where.
+       * config/tc-score7.c (s7_convert_frag): Likewise.
+
+2019-04-16  Alan Modra  <amodra@gmail.com>
+
+       * frags.h (struct frag <fr_fix>): Use unsigned type.
+       * frags.c (frag_new): Assert that current size exceeds
+       old_frags_var_max_size.
+       * ehopt.c (get_cie_info): Adjust for unsigned fr_fix.
+       * listing.c (calc_hex): Likewise.
+       * write.c (cvt_frag_to_fill, write_relocs): Likewise.
+       * config/tc-arc.c (md_convert_frag): Likewise.
+       * config/tc-avr.c (avr_patch_gccisr_frag): Likewise.
+       * config/tc-mips.c (md_convert_frag): Likewise.
+       * config/tc-rl78.c (md_convert_frag): Likewise.
+       * config/tc-rx.c (md_convert_frag): Likewise.
+       * config/tc-sparc.c (md_apply_fix): Likewise.
+       * config/tc-xtensa.c (next_instrs_are_b_retw): Likewise.
+       (unrelaxed_frag_min_insn_count, unrelaxed_frag_has_b_j): Likewise.
+
+2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/tc-arm.c (parse_sys_vldr_vstr): New function.
+       (OP_VLDR): New enum operand_parse_code enumerator.
+       (parse_operands): Add logic for OP_VLDR.
+       (do_t_vldr_vstr_sysreg): New function.
+       (do_vldr_vstr): Likewise.
+       (insns): Guard VLDR and VSTR by arm_ext_v4t for Thumb mode.
+       (md_apply_fix): Add bound check for VLDR and VSTR co-processor offset.
+       Add masking logic for BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM relocation.
+       * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add examples of bad
+       uses of VLDR and VSTR.
+       * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error messages for
+       above bad uses.
+       * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add examples of VLDR and
+       VSTR valid uses.
+       * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add disassembly for the
+       above examples.
+
+2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/tc-arm.c (arm_typed_reg_parse): Fix typo in comment.
+       (enum reg_list_els): New REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR
+       enumerators.
+       (parse_vfp_reg_list): Add new partial_match parameter.  Set
+       *partial_match to TRUE if at least one element in the register list has
+       matched.  Add support for REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR
+       register lists which expect VPR as last element in the list.
+       (s_arm_unwind_save_vfp_armv6): Adapt call to parse_vfp_reg_list to new
+       prototype.
+       (s_arm_unwind_save_vfp): Likewise.
+       (enum operand_parse_code): New OP_VRSDVLST enumerator.
+       (parse_operands): Adapt call to parse_vfp_reg_list to new prototype.
+       Handle new OP_VRSDVLST case.
+       (do_t_vscclrm): New function.
+       (insns): New entry for VSCCLRM instruction.
+       * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add invalid VSCCLRM
+       instructions.
+       * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error expectations
+       for above instructions.
+       * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add tests for VSCCLRM
+       instruction.
+       * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add expected disassembly
+       for above instructions.
+
+2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/tc-arm.c (enum reg_list_els): Define earlier and add
+       REGLIST_RN and REGLIST_CLRM enumerators.
+       (parse_reg_list): Add etype parameter to distinguish between regular
+       core register list and CLRM register list.  Add logic to
+       recognize CLRM register list.
+       (parse_vfp_reg_list): Assert type is not for core register list.
+       (s_arm_unwind_save_core): Update call to parse_reg_list to new
+       prototype.
+       (enum operand_parse_code): Declare OP_CLRMLST enumerator.
+       (parse_operands): Update call to parse_reg_list to new prototype.  Add
+       logic for OP_CLRMLST.
+       (encode_thumb2_ldmstm): Rename into ...
+       (encode_thumb2_multi): This.  Add do_io parameter.  Add logic to
+       encode CLRM and guard LDM/STM only code by do_io.
+       (do_t_ldmstm): Adapt to use encode_thumb2_multi.
+       (do_t_push_pop): Likewise.
+       (do_t_clrm): New function.
+       (insns): Define CLRM.
+       * testsuite/gas/arm/archv8m_1m-cmse-main-bad.d: New file.
+       * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Likewise.
+       * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Likewise.
+       * testsuite/gas/arm/archv8m_1m-cmse-main.d: Likewise.
+       * testsuite/gas/arm/archv8m_1m-cmse-main.s: Likewise.
+
 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
-            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
 
        * config/tc-arm.c (operand_parse_code): Add OP_LR and OP_oLR
        for the LR operand and optional LR operand.
        * testsuite/gas/arm/armv8_1-m-tloop-bad.l: New.
 
 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
-            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
 
        * config/tc-arm.c (T16_32_TAB): New entriy for bfcsel.
        (do_t_v8_1_branch): New switch case for bfcsel.
        (tc_gen_reloc): Likewise.
 
 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
-            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
 
        * config/tc-arm.c (T16_32_TAB): New entrie for bfl.
        (do_t_v8_1_branch): New switch case for bfl.
        * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New
 
 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
-            Andre Vieira  <andre.simoesdiasvieira@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
 
        * config/tc-arm.c (T16_32_TAB): New entries for bf.
        (do_t_branch_future): New.
        * testsuite/gas/mips/mips.exp: Run the new test.
 
 2019-04-12  John Darrington <john@darrington.wattle.id.au>
-       
+
        config/tc-s12z.h: Remove definition of macro TC_M68K
 
 2019-04-01  John Darrington <john@darrington.wattle.id.au>
-       
+
        config/tc-s12z.c: Use bfd_boolean where appropriate.
 
 2019-04-11  Max Filippov  <jcmvbkbc@gmail.com>
 
 2019-01-31  John Darrington <john@darrington.wattle.id.au>
 
-        * config/tc-s12z.c (lex_imm): Add new argument exp_o.
+       * config/tc-s12z.c (lex_imm): Add new argument exp_o.
        (emit_reloc): New function.
        (md_apply_fix): [BFD_RELOC_S12Z_OPR] Recognise that it
        can be either 2 bytes or 3 bytes long.
 
 2019-01-09  John Darrington <john@darrington.wattle.id.au>
 
-        * testsuite/gas/s12z/jsr.s: New case.
+       * testsuite/gas/s12z/jsr.s: New case.
        * testsuite/gas/s12z/jsr.d: New case.
 
 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
This page took 0.033327 seconds and 4 git commands to generate.