[PATCH] D62668: [ARM] First MVE instructions: scalar shifts.

Simon Tatham via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 30 08:20:02 PDT 2019


simon_tatham created this revision.
simon_tatham added reviewers: dmgreen, samparker, SjoerdMeijer, t.p.northover.
Herald added subscribers: llvm-commits, hiraditya, kristof.beyls, javed.absar.
Herald added a project: LLVM.

This introduces a new decoding table for MVE instructions, and starts
by adding the family of scalar shift instructions that are part of the
MVE architecture extension: saturating shifts within a single GPR, and
long shifts across a pair of GPRs (both saturating and normal).

Some of these shift instructions have only 3-bit register fields in
the encoding, with the low bit fixed. So they can only address an odd
or even numbered GPR (depending on the operand), and therefore I add
two new register classes, GPREven and GPROdd.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D62668

Files:
  llvm/lib/Target/ARM/ARMInstrInfo.td
  llvm/lib/Target/ARM/ARMInstrMVE.td
  llvm/lib/Target/ARM/ARMInstrThumb2.td
  llvm/lib/Target/ARM/ARMRegisterInfo.td
  llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
  llvm/test/MC/ARM/mve-scalar-shift.s
  llvm/test/MC/Disassembler/ARM/mve-scalar-shift.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62668.202203.patch
Type: text/x-patch
Size: 23735 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190530/f4a1ef96/attachment.bin>


More information about the llvm-commits mailing list