[PATCH] D136088: [AArch64]SME2 instructions that use ZTO operand

Caroline via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 17 08:28:06 PDT 2022


CarolineConcatto created this revision.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
CarolineConcatto requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This patch adds the assembly/disassembly for the following instructions:

  ZERO (ZT0): Zero ZT0.
  LDR (ZT0): Load ZT0 register.
  STR (ZT0): Store ZT0 register.
  MOVT (scalar to ZT0): Move 8 bytes from general-purpose register to ZT0.
       (ZT0 to scalar): Move 8 bytes from ZT0 to general-purpose register.

Consecutive:

  LUTI2 (single): Lookup table read with 2-bit indexes.
        (two registers): Lookup table read with 2-bit indexes.
        (four registers): Lookup table read with 2-bit indexes.
  LUTI4 (single): Lookup table read with 4-bit indexes.
        (two registers): Lookup table read with 4-bit indexes.
        (four registers): Lookup table read with 4-bit indexes.

The reference can be found here:

https://developer.arm.com/documentation/ddi0602/2022-09

This patch also adds a new register class and operand for zt0
and a another index operand uimm3s8


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D136088

Files:
  llvm/lib/Target/AArch64/AArch64InstrFormats.td
  llvm/lib/Target/AArch64/AArch64RegisterInfo.td
  llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
  llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
  llvm/lib/Target/AArch64/SMEInstrFormats.td
  llvm/test/MC/AArch64/SME2/ldr-diagnostics.s
  llvm/test/MC/AArch64/SME2/ldr.s
  llvm/test/MC/AArch64/SME2/luti2-diagnostics.s
  llvm/test/MC/AArch64/SME2/luti2.s
  llvm/test/MC/AArch64/SME2/luti4-diagnostics.s
  llvm/test/MC/AArch64/SME2/luti4.s
  llvm/test/MC/AArch64/SME2/movt-diagnostics.s
  llvm/test/MC/AArch64/SME2/movt.s
  llvm/test/MC/AArch64/SME2/str-diagnostics.s
  llvm/test/MC/AArch64/SME2/str.s
  llvm/test/MC/AArch64/SME2/zero.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136088.468216.patch
Type: text/x-patch
Size: 49233 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221017/52108184/attachment.bin>


More information about the llvm-commits mailing list