[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
This commit is contained in:
Craig Topper 2019-03-13 00:43:03 +00:00
parent fa32545e1d
commit 66e946eb0f
3 changed files with 17 additions and 1 deletions

View File

@ -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.

View File

@ -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);

View File

@ -10808,3 +10808,11 @@ enclu
// CHECK: enclv
// CHECK: encoding: [0x0f,0x01,0xc0]
enclv
// CHECK: aam # encoding: [0xd4,0x0a]
// INTEL: aam{{$}}
aam $10
// CHECK: aad # encoding: [0xd5,0x0a]
// INTEL: aad{{$}}
aad $10