[AArch64][SVE] Asm: Add SVE (Z) Register definitions and parsing support
authorFlorian Hahn <florian.hahn@arm.com>
Tue, 7 Nov 2017 16:45:48 +0000 (16:45 +0000)
committerFlorian Hahn <florian.hahn@arm.com>
Tue, 7 Nov 2017 16:45:48 +0000 (16:45 +0000)
commit91f11e5ad1eecc92acce539cd2de223ebe841f1a
treed5ec40156912b974cb0630b9efe8008448f20f8f
parent612d693c64ce3e53854f0ecd92210515c5036977
[AArch64][SVE] Asm: Add SVE (Z) Register definitions and parsing support

Patch [3/5] in a series to add assembler/disassembler support for AArch64 SVE unpredicated ADD/SUB instructions.

To summarise, this patch adds:

 * SVE register definitions
 * Methods to parse SVE register operands
 * Methods to print SVE register operands
 * RegKind SVEDataVector to distinguish it from other data types like scalar register or Neon vector.
 * k_SVEDataRegister and SVEDataRegOp to describe SVE registers (which will be extended by further patches with e.g. ElementWidth and the shift-extend type).

Patch by Sander De Smalen.

Reviewed by: rengolin

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

llvm-svn: 317590
llvm/lib/Target/AArch64/AArch64RegisterInfo.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h