LLVM
8.0.1
|
#include "X86InstComments.h"
#include "X86ATTInstPrinter.h"
#include "MCTargetDesc/X86BaseInfo.h"
#include "MCTargetDesc/X86MCTargetDesc.h"
#include "Utils/X86ShuffleDecode.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Macros | |
#define | CASE_SSE_INS_COMMON(Inst, src) case X86::Inst##src: |
#define | CASE_AVX_INS_COMMON(Inst, Suffix, src) case X86::V##Inst##Suffix##src: |
#define | CASE_MASK_INS_COMMON(Inst, Suffix, src) case X86::V##Inst##Suffix##src##k: |
#define | CASE_MASKZ_INS_COMMON(Inst, Suffix, src) case X86::V##Inst##Suffix##src##kz: |
#define | CASE_AVX512_INS_COMMON(Inst, Suffix, src) |
#define | CASE_MOVDUP(Inst, src) |
#define | CASE_MASK_MOVDUP(Inst, src) |
#define | CASE_MASKZ_MOVDUP(Inst, src) |
#define | CASE_PMOVZX(Inst, src) |
#define | CASE_MASK_PMOVZX(Inst, src) |
#define | CASE_MASKZ_PMOVZX(Inst, src) |
#define | CASE_UNPCK(Inst, src) |
#define | CASE_MASK_UNPCK(Inst, src) |
#define | CASE_MASKZ_UNPCK(Inst, src) |
#define | CASE_SHUF(Inst, suf) |
#define | CASE_MASK_SHUF(Inst, src) |
#define | CASE_MASKZ_SHUF(Inst, src) |
#define | CASE_VPERMILPI(Inst, src) |
#define | CASE_MASK_VPERMILPI(Inst, src) |
#define | CASE_MASKZ_VPERMILPI(Inst, src) |
#define | CASE_VPERM(Inst, src) |
#define | CASE_MASK_VPERM(Inst, src) |
#define | CASE_MASKZ_VPERM(Inst, src) |
#define | CASE_VSHUF(Inst, src) |
#define | CASE_MASK_VSHUF(Inst, src) |
#define | CASE_MASKZ_VSHUF(Inst, src) |
#define | CASE_AVX512_FMA(Inst, suf) |
#define | CASE_FMA(Inst, suf) |
#define | CASE_FMA_PACKED_REG(Inst) |
#define | CASE_FMA_PACKED_MEM(Inst) |
#define | CASE_FMA_SCALAR_REG(Inst) |
#define | CASE_FMA_SCALAR_MEM(Inst) |
Functions | |
static unsigned | getVectorRegSize (unsigned RegNo) |
static unsigned | getRegOperandNumElts (const MCInst *MI, unsigned ScalarSize, unsigned OperandIndex) |
static const char * | getRegName (unsigned Reg) |
static void | printMasking (raw_ostream &OS, const MCInst *MI, const MCInstrInfo &MCII) |
Wraps the destination register name with AVX512 mask/maskz filtering. More... | |
static bool | printFMA3Comments (const MCInst *MI, raw_ostream &OS) |
#define CASE_AVX512_FMA | ( | Inst, | |
suf | |||
) |
Definition at line 163 of file X86InstComments.cpp.
#define CASE_AVX512_INS_COMMON | ( | Inst, | |
Suffix, | |||
src | |||
) |
Definition at line 38 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
#define CASE_AVX_INS_COMMON | ( | Inst, | |
Suffix, | |||
src | |||
) | case X86::V##Inst##Suffix##src: |
Definition at line 29 of file X86InstComments.cpp.
#define CASE_FMA | ( | Inst, | |
suf | |||
) |
Definition at line 168 of file X86InstComments.cpp.
#define CASE_FMA_PACKED_MEM | ( | Inst | ) |
Definition at line 177 of file X86InstComments.cpp.
Referenced by printFMA3Comments().
#define CASE_FMA_PACKED_REG | ( | Inst | ) |
Definition at line 173 of file X86InstComments.cpp.
Referenced by printFMA3Comments().
#define CASE_FMA_SCALAR_MEM | ( | Inst | ) |
Definition at line 193 of file X86InstComments.cpp.
Referenced by printFMA3Comments().
#define CASE_FMA_SCALAR_REG | ( | Inst | ) |
Definition at line 183 of file X86InstComments.cpp.
Referenced by printFMA3Comments().
#define CASE_MASK_INS_COMMON | ( | Inst, | |
Suffix, | |||
src | |||
) | case X86::V##Inst##Suffix##src##k: |
Definition at line 32 of file X86InstComments.cpp.
#define CASE_MASK_MOVDUP | ( | Inst, | |
src | |||
) |
Definition at line 51 of file X86InstComments.cpp.
#define CASE_MASK_PMOVZX | ( | Inst, | |
src | |||
) |
Definition at line 69 of file X86InstComments.cpp.
#define CASE_MASK_SHUF | ( | Inst, | |
src | |||
) |
Definition at line 105 of file X86InstComments.cpp.
#define CASE_MASK_UNPCK | ( | Inst, | |
src | |||
) |
Definition at line 87 of file X86InstComments.cpp.
#define CASE_MASK_VPERM | ( | Inst, | |
src | |||
) |
Definition at line 137 of file X86InstComments.cpp.
#define CASE_MASK_VPERMILPI | ( | Inst, | |
src | |||
) |
Definition at line 122 of file X86InstComments.cpp.
#define CASE_MASK_VSHUF | ( | Inst, | |
src | |||
) |
Definition at line 151 of file X86InstComments.cpp.
#define CASE_MASKZ_INS_COMMON | ( | Inst, | |
Suffix, | |||
src | |||
) | case X86::V##Inst##Suffix##src##kz: |
Definition at line 35 of file X86InstComments.cpp.
#define CASE_MASKZ_MOVDUP | ( | Inst, | |
src | |||
) |
Definition at line 56 of file X86InstComments.cpp.
#define CASE_MASKZ_PMOVZX | ( | Inst, | |
src | |||
) |
Definition at line 74 of file X86InstComments.cpp.
#define CASE_MASKZ_SHUF | ( | Inst, | |
src | |||
) |
Definition at line 110 of file X86InstComments.cpp.
#define CASE_MASKZ_UNPCK | ( | Inst, | |
src | |||
) |
Definition at line 92 of file X86InstComments.cpp.
#define CASE_MASKZ_VPERM | ( | Inst, | |
src | |||
) |
Definition at line 141 of file X86InstComments.cpp.
#define CASE_MASKZ_VPERMILPI | ( | Inst, | |
src | |||
) |
Definition at line 127 of file X86InstComments.cpp.
#define CASE_MASKZ_VSHUF | ( | Inst, | |
src | |||
) |
Definition at line 157 of file X86InstComments.cpp.
#define CASE_MOVDUP | ( | Inst, | |
src | |||
) |
Definition at line 43 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
#define CASE_PMOVZX | ( | Inst, | |
src | |||
) |
Definition at line 61 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
#define CASE_SHUF | ( | Inst, | |
suf | |||
) |
Definition at line 97 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
#define CASE_SSE_INS_COMMON | ( | Inst, | |
src | |||
) | case X86::Inst##src: |
Definition at line 26 of file X86InstComments.cpp.
#define CASE_UNPCK | ( | Inst, | |
src | |||
) |
Definition at line 79 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
#define CASE_VPERM | ( | Inst, | |
src | |||
) |
Definition at line 132 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
#define CASE_VPERMILPI | ( | Inst, | |
src | |||
) |
Definition at line 115 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
#define CASE_VSHUF | ( | Inst, | |
src | |||
) |
Definition at line 145 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
Definition at line 222 of file X86InstComments.cpp.
References llvm::X86ATTInstPrinter::getRegisterName().
Referenced by llvm::EmitAnyX86InstComments(), printFMA3Comments(), and printMasking().
|
static |
Definition at line 216 of file X86InstComments.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), and getVectorRegSize().
Referenced by llvm::EmitAnyX86InstComments().
Definition at line 203 of file X86InstComments.cpp.
References llvm_unreachable.
Referenced by getRegOperandNumElts().
|
static |
Definition at line 251 of file X86InstComments.cpp.
References CASE_FMA_PACKED_MEM, CASE_FMA_PACKED_REG, CASE_FMA_SCALAR_MEM, CASE_FMA_SCALAR_REG, llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), getRegName(), and LLVM_FALLTHROUGH.
Referenced by llvm::EmitAnyX86InstComments().
|
static |
Wraps the destination register name with AVX512 mask/maskz filtering.
Definition at line 227 of file X86InstComments.cpp.
References llvm::X86II::EVEX_K, llvm::X86II::EVEX_Z, llvm::MCInstrInfo::get(), llvm::MCInstrDesc::getNumDefs(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCInstrDesc::getOperandConstraint(), llvm::MCOperand::getReg(), getRegName(), llvm::MCOI::TIED_TO, and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::EmitAnyX86InstComments().