[all-commits] [llvm/llvm-project] a4e849: [AArch64]SME2 Multi-vector ternary indexed DOT and...

CarolineConcatto via All-commits all-commits at lists.llvm.org
Tue Oct 25 01:22:46 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a4e8492ba2688cab5698ef45efdb7172afee0530
      https://github.com/llvm/llvm-project/commit/a4e8492ba2688cab5698ef45efdb7172afee0530
  Author: Caroline Concatto <caroline.concatto at arm.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/MC/AArch64/SME2/bfdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/bfdot.s
    A llvm/test/MC/AArch64/SME2/bfvdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/bfvdot.s
    A llvm/test/MC/AArch64/SME2/fdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/fdot.s
    M llvm/test/MC/AArch64/SME2/fmla.s
    M llvm/test/MC/AArch64/SME2/fmls.s
    A llvm/test/MC/AArch64/SME2/fvdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/fvdot.s
    A llvm/test/MC/AArch64/SME2/sdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/sdot.s
    A llvm/test/MC/AArch64/SME2/sudot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/sudot.s
    A llvm/test/MC/AArch64/SME2/suvdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/suvdot.s
    A llvm/test/MC/AArch64/SME2/svdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/svdot.s
    A llvm/test/MC/AArch64/SME2/udot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/udot.s
    A llvm/test/MC/AArch64/SME2/usdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/usdot.s
    A llvm/test/MC/AArch64/SME2/uvdot-diagnostics.s
    A llvm/test/MC/AArch64/SME2/uvdot.s

  Log Message:
  -----------
  [AArch64]SME2 Multi-vector ternary indexed DOT and FMLA instructions

This patch adds the assembly/disassembly for the following instruction:
FP:
  FMLA (multiple and indexed vector): Multi-vector floating-point fused multiply-add by indexed element.
  FMLS(multiple and indexed vector): Multi-vector floating-point fused multiply-subtract by indexed element.

  BFDOT (multiple and indexed vector): Multi-vector BFloat16 floating-point dot-product by indexed element.
  FDOT (multiple and indexed vector): Multi-vector half-precision floating-point dot-product by indexed element.
  BFVDOT: Multi-vector BFloat16 floating-point vertical dot-product by indexed element.
  FVDOT: Multi-vector half-precision floating-point vertical dot-product by indexed element.

INT:
  SDOT (2-way, multiple and indexed vector): Multi-vector signed integer dot-product by indexed element.
       (4-way, multiple and indexed vector): Multi-vector signed integer dot-product by indexed element.
  SUDOT (multiple and indexed vector): Multi-vector signed by unsigned integer dot-product by indexed elements.
  SUVDOT: Multi-vector signed by unsigned integer vertical dot-product by indexed element.
  UDOT (2-way, multiple and indexed vector): Multi-vector unsigned integer dot-product by indexed element.
       (4-way, multiple and indexed vector): Multi-vector unsigned integer dot-product by indexed element.
  USDOT (multiple and indexed vector): Multi-vector unsigned by signed integer dot-product by indexed element.
  USVDOT: Multi-vector unsigned by signed integer vertical dot-product by indexed element.

For the multi-vec ternary indexed with 2 and 4 ZA single-vectors for
32 and 64 bits according to the instruction

The reference can be found here:
    https://developer.arm.com/documentation/ddi0602/2022-09

Depends on:D135563

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




More information about the All-commits mailing list