[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