[PATCH 21/57][Arm][GAS] Add support for MVE instructions: vmaxv, vmaxav, vminv and...
[deliverable/binutils-gdb.git] / gas / ChangeLog
index a14aa2527da3babde33668254918116e78c418cb..5333e1768e1a9dd343a38bdb14d3346f59281af7 100644 (file)
@@ -1,3 +1,186 @@
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * 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  <andre.simoesdiasvieira@arm.com>
+
+       * 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  <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.
This page took 0.025233 seconds and 4 git commands to generate.