diff options
author | Cullen Rhodes <cullen.rhodes@arm.com> | 2019-05-16 09:33:44 +0000 |
---|---|---|
committer | Cullen Rhodes <cullen.rhodes@arm.com> | 2019-05-16 09:33:44 +0000 |
commit | 07eba98dd732b479584ba7b41dbee6c4e175eccc (patch) | |
tree | d8bd82701fa7dd700311d4de7a59fb46b28425f7 /llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp | |
parent | 3cbf3c841289080449c1b45bbf2d31544cec9282 (diff) | |
download | llvm-07eba98dd732b479584ba7b41dbee6c4e175eccc.zip llvm-07eba98dd732b479584ba7b41dbee6c4e175eccc.tar.gz llvm-07eba98dd732b479584ba7b41dbee6c4e175eccc.tar.bz2 |
[AArch64][SVE2] Asm: implement CDOT instruction
Summary:
The complex DOT instructions perform a dot-product on quadtuplets from
two source vectors and the resuling wide real or wide imaginary is
accumulated into the destination register. The instructions come in two
forms:
Vector form, e.g.
cdot z0.s, z1.b, z2.b, #90 - complex dot product on four 8-bit quad-tuplets,
accumulating results in 32-bit elements. The
complex numbers in the second source vector are
rotated by 90 degrees.
cdot z0.d, z1.h, z2.h, #180 - complex dot product on four 16-bit quad-tuplets,
accumulating results in 64-bit elements.
The complex numbers in the second source
vector are rotated by 180 degrees.
Indexed form, e.g.
cdot z0.s, z1.b, z2.b[3], #0 - complex dot product on four 8-bit quad-tuplets,
with specified quadtuplet from second source vector,
accumulating results in 32-bit elements.
cdot z0.d, z1.h, z2.h[1], #0 - complex dot product on four 16-bit quad-tuplets,
with specified quadtuplet from second source vector,
accumulating results in 64-bit elements.
The specification can be found here:
https://developer.arm.com/docs/ddi0602/latest
Reviewed By: SjoerdMeijer, rovka
Differential Revision: https://reviews.llvm.org/D61903
llvm-svn: 360870
Diffstat (limited to 'llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions