[PATCH] D61903: [AArch64][SVE2] Asm: implement CDOT instruction
Cullen Rhodes via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 14 08:30:03 PDT 2019
c-rhodes created this revision.
c-rhodes added reviewers: sdesmalen, SjoerdMeijer, ostannard, rovka.
Herald added subscribers: kristof.beyls, tschuett, javed.absar.
Herald added a project: LLVM.
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
Repository:
rL LLVM
https://reviews.llvm.org/D61903
Files:
lib/Target/AArch64/AArch64SVEInstrInfo.td
lib/Target/AArch64/SVEInstrFormats.td
test/MC/AArch64/SVE2/cdot-diagnostics.s
test/MC/AArch64/SVE2/cdot.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61903.199457.patch
Type: text/x-patch
Size: 11417 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190514/a8852835/attachment.bin>
More information about the llvm-commits
mailing list