diff options
author | Craig Topper <craig.topper@intel.com> | 2019-03-13 00:43:03 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-03-13 00:43:03 +0000 |
commit | 750efba67c528edd1d1af700fd925927faa7adec (patch) | |
tree | e473bb048c0008890c8b9fde7253f94b7b60ef8d /llvm/lib/Target/X86 | |
parent | 8b49b6bed6e922b6f5474db0f3841b31cf77f3cd (diff) | |
download | bcm5719-llvm-750efba67c528edd1d1af700fd925927faa7adec.tar.gz bcm5719-llvm-750efba67c528edd1d1af700fd925927faa7adec.zip |
[X86] Enable printAliasInstr for the Intel assembly printer so that AAM and AAD will print without an immediate when the immediate is 10.
llvm-svn: 355997
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r-- | llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp b/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp index 9015aa14768..6c597166dbf 100644 --- a/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp +++ b/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp @@ -28,6 +28,8 @@ using namespace llvm; #define DEBUG_TYPE "asm-printer" +// Include the auto-generated portion of the assembly writer. +#define PRINT_ALIAS_INSTR #include "X86GenAsmWriter1.inc" void X86IntelInstPrinter::printRegName(raw_ostream &OS, unsigned RegNo) const { @@ -43,7 +45,7 @@ void X86IntelInstPrinter::printInst(const MCInst *MI, raw_ostream &OS, if (MI->getOpcode() == X86::DATA16_PREFIX && STI.getFeatureBits()[X86::Mode16Bit]) { OS << "\tdata32"; - } else + } else if (!printAliasInstr(MI, OS)) printInstruction(MI, OS); // Next always print the annotation. diff --git a/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h b/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h index 5155dee178a..67ea9b7fa97 100644 --- a/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h +++ b/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h @@ -28,6 +28,12 @@ public: void printInst(const MCInst *MI, raw_ostream &OS, StringRef Annot, const MCSubtargetInfo &STI) override; + // Autogenerated by tblgen, returns true if we successfully printed an + // alias. + bool printAliasInstr(const MCInst *MI, raw_ostream &OS); + void printCustomAliasOperand(const MCInst *MI, unsigned OpIdx, + unsigned PrintMethodIdx, raw_ostream &O); + // Autogenerated by tblgen. void printInstruction(const MCInst *MI, raw_ostream &O); static const char *getRegisterName(unsigned RegNo); |