summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-03-13 00:43:03 +0000
committerCraig Topper <craig.topper@intel.com>2019-03-13 00:43:03 +0000
commit750efba67c528edd1d1af700fd925927faa7adec (patch)
treee473bb048c0008890c8b9fde7253f94b7b60ef8d /llvm/lib/Target/X86
parent8b49b6bed6e922b6f5474db0f3841b31cf77f3cd (diff)
downloadbcm5719-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.cpp4
-rw-r--r--llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h6
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);
OpenPOWER on IntegriCloud