binutils-gdb/gas/testsuite/gas/arm/dotprod-illegal.s
Jiong Wang c604a79ad4 [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.
2017-06-28 11:00:55 +01:00

17 lines
379 B
ArmAsm

.text
func:
# name and suffix mismatch.
vudot.s8 d0, d2, d5
# No .*16 suffix support.
vudot.u16 d0, d2, d5
vsdot.s16 d1, d12, d18
# No .*32 suffix support.
vudot.u32 d2, d22, d1
vsdot.s32 d3, d30, d9
# Scalar base register out of bound
vudot.u8 d31, d2, d16[0]
vsdot.s8 q13, q14, d22[1]
# Scalar index out of bound
vudot.u8 d1, d8, d15[2]
vsdot.s8 q14, q7, d15[3]