X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2FChangeLog;h=5333e1768e1a9dd343a38bdb14d3346f59281af7;hb=13ccd4c06fdccad1cb97f15878cd411aa22bf12f;hp=9e08aef8d3a12b498e7495f5b2b7a050dc3faf34;hpb=31e36ab341498bb477a46a0475100ec5d471c4f2;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/ChangeLog b/gas/ChangeLog index 9e08aef8d3..5333e1768e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,631 @@ +2019-05-16 Andre Vieira + + * config/tc-arm.c (M_MNEM_vmaxv, M_MNEM_vmaxav, M_MNEM_vminv, + M_MNEM_vminav): New instruction encodings. + (do_mve_vmaxv): New encoding function. + (insns): Add entries for new MVE mnemonics. + * testsuite/gas/arm/mve-vmaxv-vminv-bad.d: New test. + * testsuite/gas/arm/mve-vmaxv-vminv-bad.l: New test. + * testsuite/gas/arm/mve-vmaxv-vminv-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_mve_vmaxnmv): New encoding function. + (insns): Add entries for new mnemonics. + * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.d: New test. + * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.l: New test. + * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.s: New test. + +2019-05-16 Andre Vieira + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * doc/as.texi (Machine Dependencies): Fix misaligned menu entry. + +2019-05-15 Alan Modra + + * config/tc-csky.c (md_convert_frag): Initialise trailing + padding for COND_JUMP_PIC. + +2019-05-15 Alan Modra + + * 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 + + PR 24538 + * config/tc-tic54x.c (tic54x_start_line_hook): Do skip end of line + chars in setting endp. + +2019-05-14 Nick Clifton + + PR 24538 + * config/tc-i386-intel.c (i386_intel_simplify_register): Reject + illegal register numbers. + +2019-05-10 Nick Clifton + + 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 + + * config/tc-mips.c (macro) : + 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 + + * testsuite/gas/aarch64/sve2.d: Remove file format restriction. + +2019-05-09 Matthew Malcomson + + * 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 + + * config/tc-aarch64.c (parse_operands): Handle new SVE_SHLIMM_UNPRED_22 + operand. + 2019-05-09 Matthew Malcomson * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm4_11_INDEX @@ -159,7 +787,7 @@ 2019-04-29 John Darrington - * testsuite/gas/s12z/truncated.d: New file. + * testsuite/gas/s12z/truncated.d: New file. * testsuite/gas/s12z/truncated.s: New file. * testsuite/gas/s12z/s12z.exp: Add new test. @@ -412,7 +1040,7 @@ * testsuite/gas/arm/archv8m_1m-cmse-main.s: Likewise. 2019-04-15 Sudakshina Das - Andre Vieira + Andre Vieira * config/tc-arm.c (operand_parse_code): Add OP_LR and OP_oLR for the LR operand and optional LR operand. @@ -434,7 +1062,7 @@ * testsuite/gas/arm/armv8_1-m-tloop-bad.l: New. 2019-04-15 Sudakshina Das - Andre Vieira + Andre Vieira * config/tc-arm.c (T16_32_TAB): New entriy for bfcsel. (do_t_v8_1_branch): New switch case for bfcsel. @@ -455,7 +1083,7 @@ (tc_gen_reloc): Likewise. 2019-04-15 Sudakshina Das - Andre Vieira + Andre Vieira * config/tc-arm.c (T16_32_TAB): New entrie for bfl. (do_t_v8_1_branch): New switch case for bfl. @@ -487,7 +1115,7 @@ * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New 2019-04-15 Sudakshina Das - Andre Vieira + Andre Vieira * config/tc-arm.c (T16_32_TAB): New entries for bf. (do_t_branch_future): New. @@ -563,11 +1191,11 @@ * testsuite/gas/mips/mips.exp: Run the new test. 2019-04-12 John Darrington - + config/tc-s12z.h: Remove definition of macro TC_M68K 2019-04-01 John Darrington - + config/tc-s12z.c: Use bfd_boolean where appropriate. 2019-04-11 Max Filippov @@ -1195,7 +1823,7 @@ 2019-01-31 John Darrington - * 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. @@ -1448,7 +2076,7 @@ 2019-01-09 John Darrington - * 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