diff options
author | Kevin Qin <Kevin.Qin@arm.com> | 2013-09-17 02:21:02 +0000 |
---|---|---|
committer | Kevin Qin <Kevin.Qin@arm.com> | 2013-09-17 02:21:02 +0000 |
commit | e54360be01d1eaccd5ef27f510634927aaa887a4 (patch) | |
tree | de8361fd5b80233388e09af2757d380623f52f59 /lib/Target/AArch64/InstPrinter | |
parent | 24e1b39a24ca7b8866a636498173f3959b561058 (diff) | |
download | external_llvm-e54360be01d1eaccd5ef27f510634927aaa887a4.zip external_llvm-e54360be01d1eaccd5ef27f510634927aaa887a4.tar.gz external_llvm-e54360be01d1eaccd5ef27f510634927aaa887a4.tar.bz2 |
Implement 3 AArch64 neon instructions : umov smov ins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190839 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64/InstPrinter')
-rw-r--r-- | lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp | 12 | ||||
-rw-r--r-- | lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp b/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp index d2b6f6d..26bd797 100644 --- a/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp +++ b/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp @@ -475,6 +475,18 @@ void AArch64InstPrinter::printNeonUImm8Operand(const MCInst *MI, unsigned OpNum, O.write_hex(Imm); } +void AArch64InstPrinter::printNeonUImm8OperandBare(const MCInst *MI, + unsigned OpNum, + raw_ostream &O) { + const MCOperand &MOUImm = MI->getOperand(OpNum); + + assert(MOUImm.isImm() + && "Immediate operand required for Neon vector immediate inst."); + + unsigned Imm = MOUImm.getImm(); + O << Imm; +} + void AArch64InstPrinter::printNeonUImm64MaskOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O) { diff --git a/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h b/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h index b608908..71c9f4a 100644 --- a/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h +++ b/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h @@ -170,6 +170,8 @@ public: raw_ostream &O); void printNeonUImm0Operand(const MCInst *MI, unsigned OpNum, raw_ostream &O); void printNeonUImm8Operand(const MCInst *MI, unsigned OpNum, raw_ostream &O); + void printNeonUImm8OperandBare(const MCInst *MI, unsigned OpNum, + raw_ostream &O); void printNeonUImm64MaskOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O); }; |