]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
[ARM] Assembler and disassembler support Dot Product Extension
authorJiong Wang <jiong.wang@arm.com>
Wed, 28 Jun 2017 10:00:55 +0000 (11:00 +0100)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 4 Aug 2017 12:27:59 +0000 (09:27 -0300)
commiteab9b00a3ab359d0a611ae33271ea337ade6f70f
tree9803717b1f93e1df2af5ff5cf23f8ea9dd121d51
parent7d9f1d21e004afa2f1350f880ef4b94f92f4b671
[ARM] Assembler and disassembler support Dot Product Extension

  This patch add assembler and disassembler support for new Dot Product
  Extension.

  The support can be enabled through the new "+dotprod" extension.

include/
* opcode/arm.h (FPU_NEON_EXT_DOTPROD): New macro.
(FPU_ARCH_DOTPROD_NEON_VFP_ARMV8): New macro.

gas/
* config/tc-arm.c (fpu_neon_ext_dotprod): New variable.
(neon_scalar_for_mul): Improve comments.
(do_neon_dotproduct): New function to encode Dot Product instructions.
(do_neon_dotproduct_s): Wrapper function for signed Dot Product
instructions.
(do_neon_dotproduct_u): Wrapper function for unsigned Dot Product
instructions.
(insns): New entries for vsdot and vudot.
(arm_extensions): New entry for "dotprod".
* doc/c-arm.texi: Document new "dotprod" extension.
* testsuite/gas/arm/dotprod.s: New test source.
* testsuite/gas/arm/dotprod-illegal.s: New test source.
* testsuite/gas/arm/dotprod.d: New test.
* testsuite/gas/arm/dotprod-thumb2.d: New test.
* testsuite/gas/arm/dotprod-illegal.d: New test.
* testsuite/gas/arm/dotprod-legacy-arch.d: New test.
* testsuite/gas/arm/dotprod-illegal.l: New error file.
* testsuite/gas/arm/dotprod-legacy-arch.l: New error file.

opcodes/
* arm-dis.c (coprocessor_opcodes): New entries for vsdot and vudot.

Cherry-pick of c604a79ad4d47070bbcc0bc082188fb16892ceef.

Change-Id: I5521f218ba3627c1f8b3a9ef20277aa02298e2ae
15 files changed:
gas/ChangeLog.linaro [new file with mode: 0644]
gas/config/tc-arm.c
gas/doc/c-arm.texi
gas/testsuite/gas/arm/dotprod-illegal.d [new file with mode: 0644]
gas/testsuite/gas/arm/dotprod-illegal.l [new file with mode: 0644]
gas/testsuite/gas/arm/dotprod-illegal.s [new file with mode: 0644]
gas/testsuite/gas/arm/dotprod-legacy-arch.d [new file with mode: 0644]
gas/testsuite/gas/arm/dotprod-legacy-arch.l [new file with mode: 0644]
gas/testsuite/gas/arm/dotprod-thumb2.d [new file with mode: 0644]
gas/testsuite/gas/arm/dotprod.d [new file with mode: 0644]
gas/testsuite/gas/arm/dotprod.s [new file with mode: 0644]
include/ChangeLog.linaro [new file with mode: 0644]
include/opcode/arm.h
opcodes/ChangeLog.linaro [new file with mode: 0644]
opcodes/arm-dis.c