[ARM] v8.3-a complex number support
authorSam Parker <sam.parker@arm.com>
Fri, 29 Sep 2017 13:11:33 +0000 (13:11 +0000)
committerSam Parker <sam.parker@arm.com>
Fri, 29 Sep 2017 13:11:33 +0000 (13:11 +0000)
commit963da5b1191f0ec084247252666d3f669fdaf71c
tree397d3ead2a6958ba1ccedc93cec935b89036c180
parent0b5db55b963a69d45f5712935c60d1ec8e69a511
[ARM] v8.3-a complex number support

New instructions are added to AArch32 and AArch64 to aid
floating-point multiplication and addition of complex numbers, where
the complex numbers are packed in a vector register as a pair of
elements. The Imaginary part of the number is placed in the more
significant element, and the Real part of the number is placed in the
less significant element.

This patch adds assembler for the ARM target.

Differential Revision: https://reviews.llvm.org/D36789

llvm-svn: 314511
llvm/lib/Target/ARM/ARMInstrFormats.td
llvm/lib/Target/ARM/ARMInstrNEON.td
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h
llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
llvm/test/MC/ARM/neon-complex.s [new file with mode: 0644]
llvm/test/MC/Disassembler/ARM/neon-complex-arm.txt [new file with mode: 0644]
llvm/test/MC/Disassembler/ARM/neon-complex-thumb.txt [new file with mode: 0644]