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/Target/SystemZ/Disassembler/SystemZDisassembler.cpp | |
| parent | 3cbf3c841289080449c1b45bbf2d31544cec9282 (diff) | |
| download | bcm5719-llvm-07eba98dd732b479584ba7b41dbee6c4e175eccc.tar.gz bcm5719-llvm-07eba98dd732b479584ba7b41dbee6c4e175eccc.zip | |
[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/Target/SystemZ/Disassembler/SystemZDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions

