LLVM 20.0.0git
|
#include "X86InstComments.h"
#include "X86ATTInstPrinter.h"
#include "X86BaseInfo.h"
#include "X86MCTargetDesc.h"
#include "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_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) |
#define | CASE_FMA4(Inst, suf) |
#define | CASE_FMA4_PACKED_RR(Inst) |
#define | CASE_FMA4_PACKED_RM(Inst) |
#define | CASE_FMA4_PACKED_MR(Inst) |
#define | CASE_FMA4_SCALAR_RR(Inst) |
#define | CASE_FMA4_SCALAR_RM(Inst) |
#define | CASE_FMA4_SCALAR_MR(Inst) |
Functions | |
static unsigned | getVectorRegSize (unsigned RegNo) |
static unsigned | getRegOperandNumElts (const MCInst *MI, unsigned ScalarSize, unsigned OperandIndex) |
static const char * | getRegName (MCRegister Reg) |
static void | printMasking (raw_ostream &OS, const MCInst *MI, const MCInstrInfo &MCII) |
Wraps the destination register name with AVX512 mask/maskz filtering. | |
static bool | printFMAComments (const MCInst *MI, raw_ostream &OS, const MCInstrInfo &MCII) |
#define CASE_AVX512_FMA | ( | Inst, | |
suf | |||
) |
Definition at line 152 of file X86InstComments.cpp.
#define CASE_AVX512_INS_COMMON | ( | Inst, | |
Suffix, | |||
src | |||
) |
Definition at line 37 of file X86InstComments.cpp.
#define CASE_AVX_INS_COMMON | ( | Inst, | |
Suffix, | |||
src | |||
) | case X86::V##Inst##Suffix##src: |
Definition at line 28 of file X86InstComments.cpp.
#define CASE_FMA | ( | Inst, | |
suf | |||
) |
Definition at line 157 of file X86InstComments.cpp.
#define CASE_FMA4 | ( | Inst, | |
suf | |||
) |
Definition at line 192 of file X86InstComments.cpp.
#define CASE_FMA4_PACKED_MR | ( | Inst | ) |
Definition at line 204 of file X86InstComments.cpp.
#define CASE_FMA4_PACKED_RM | ( | Inst | ) |
Definition at line 200 of file X86InstComments.cpp.
#define CASE_FMA4_PACKED_RR | ( | Inst | ) |
Definition at line 196 of file X86InstComments.cpp.
#define CASE_FMA4_SCALAR_MR | ( | Inst | ) |
Definition at line 220 of file X86InstComments.cpp.
#define CASE_FMA4_SCALAR_RM | ( | Inst | ) |
Definition at line 214 of file X86InstComments.cpp.
#define CASE_FMA4_SCALAR_RR | ( | Inst | ) |
Definition at line 208 of file X86InstComments.cpp.
#define CASE_FMA_PACKED_MEM | ( | Inst | ) |
Definition at line 166 of file X86InstComments.cpp.
#define CASE_FMA_PACKED_REG | ( | Inst | ) |
Definition at line 162 of file X86InstComments.cpp.
#define CASE_FMA_SCALAR_MEM | ( | Inst | ) |
Definition at line 182 of file X86InstComments.cpp.
#define CASE_FMA_SCALAR_REG | ( | Inst | ) |
Definition at line 172 of file X86InstComments.cpp.
#define CASE_MASK_INS_COMMON | ( | Inst, | |
Suffix, | |||
src | |||
) | case X86::V##Inst##Suffix##src##k: |
Definition at line 31 of file X86InstComments.cpp.
#define CASE_MASK_MOVDUP | ( | Inst, | |
src | |||
) |
Definition at line 50 of file X86InstComments.cpp.
#define CASE_MASK_SHUF | ( | Inst, | |
src | |||
) |
Definition at line 94 of file X86InstComments.cpp.
#define CASE_MASK_UNPCK | ( | Inst, | |
src | |||
) |
Definition at line 76 of file X86InstComments.cpp.
#define CASE_MASK_VPERM | ( | Inst, | |
src | |||
) |
Definition at line 126 of file X86InstComments.cpp.
#define CASE_MASK_VPERMILPI | ( | Inst, | |
src | |||
) |
Definition at line 111 of file X86InstComments.cpp.
#define CASE_MASK_VSHUF | ( | Inst, | |
src | |||
) |
Definition at line 140 of file X86InstComments.cpp.
#define CASE_MASKZ_INS_COMMON | ( | Inst, | |
Suffix, | |||
src | |||
) | case X86::V##Inst##Suffix##src##kz: |
Definition at line 34 of file X86InstComments.cpp.
#define CASE_MASKZ_MOVDUP | ( | Inst, | |
src | |||
) |
Definition at line 55 of file X86InstComments.cpp.
#define CASE_MASKZ_SHUF | ( | Inst, | |
src | |||
) |
Definition at line 99 of file X86InstComments.cpp.
#define CASE_MASKZ_UNPCK | ( | Inst, | |
src | |||
) |
Definition at line 81 of file X86InstComments.cpp.
#define CASE_MASKZ_VPERM | ( | Inst, | |
src | |||
) |
Definition at line 130 of file X86InstComments.cpp.
#define CASE_MASKZ_VPERMILPI | ( | Inst, | |
src | |||
) |
Definition at line 116 of file X86InstComments.cpp.
#define CASE_MASKZ_VSHUF | ( | Inst, | |
src | |||
) |
Definition at line 146 of file X86InstComments.cpp.
#define CASE_MOVDUP | ( | Inst, | |
src | |||
) |
Definition at line 42 of file X86InstComments.cpp.
#define CASE_PMOVZX | ( | Inst, | |
src | |||
) |
Definition at line 60 of file X86InstComments.cpp.
#define CASE_SHUF | ( | Inst, | |
suf | |||
) |
Definition at line 86 of file X86InstComments.cpp.
#define CASE_SSE_INS_COMMON | ( | Inst, | |
src | |||
) | case X86::Inst##src: |
Definition at line 25 of file X86InstComments.cpp.
#define CASE_UNPCK | ( | Inst, | |
src | |||
) |
Definition at line 68 of file X86InstComments.cpp.
#define CASE_VPERM | ( | Inst, | |
src | |||
) |
Definition at line 121 of file X86InstComments.cpp.
#define CASE_VPERMILPI | ( | Inst, | |
src | |||
) |
Definition at line 104 of file X86InstComments.cpp.
#define CASE_VSHUF | ( | Inst, | |
src | |||
) |
Definition at line 134 of file X86InstComments.cpp.
|
static |
Definition at line 245 of file X86InstComments.cpp.
References llvm::X86ATTInstPrinter::getRegisterName().
Referenced by llvm::EmitAnyX86InstComments(), printFMAComments(), and printMasking().
|
static |
Definition at line 239 of file X86InstComments.cpp.
References getVectorRegSize(), and MI.
Referenced by llvm::EmitAnyX86InstComments().
Definition at line 226 of file X86InstComments.cpp.
References llvm::X86II::isXMMReg(), llvm::X86II::isYMMReg(), llvm::X86II::isZMMReg(), and llvm_unreachable.
Referenced by getRegOperandNumElts().
|
static |
Definition at line 274 of file X86InstComments.cpp.
References CASE_FMA4_PACKED_MR, CASE_FMA4_PACKED_RM, CASE_FMA4_PACKED_RR, CASE_FMA4_SCALAR_MR, CASE_FMA4_SCALAR_RM, CASE_FMA4_SCALAR_RR, CASE_FMA_PACKED_MEM, CASE_FMA_PACKED_REG, CASE_FMA_SCALAR_MEM, CASE_FMA_SCALAR_REG, llvm::FMSUB, llvm::FNMADD, llvm::FNMSUB, getRegName(), MI, OS, and printMasking().
Referenced by llvm::EmitAnyX86InstComments().
|
static |
Wraps the destination register name with AVX512 mask/maskz filtering.
Definition at line 250 of file X86InstComments.cpp.
References llvm::X86II::EVEX_K, llvm::X86II::EVEX_Z, llvm::MCInstrInfo::get(), getRegName(), MI, OS, and llvm::MCOI::TIED_TO.
Referenced by llvm::EmitAnyX86InstComments(), and printFMAComments().