|
LLVM 23.0.0git
|
#include "X86InstComments.h"#include "X86ATTInstPrinter.h"#include "X86BaseInfo.h"#include "X86MCTargetDesc.h"#include "X86ShuffleDecode.h"#include "llvm/ADT/Enum.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCInstrInfo.h"#include "llvm/Support/raw_ostream.h"#include <string_view>Go to the source code of this file.
Macros | |
| #define | CASE_SSE_INS_COMMON(Inst, src) |
| #define | CASE_AVX_INS_COMMON(Inst, Suffix, src) |
| #define | CASE_MASK_INS_COMMON(Inst, Suffix, src) |
| #define | CASE_MASKZ_INS_COMMON(Inst, Suffix, src) |
| #define | CASE_AVX512_INS_COMMON(Inst, Suffix, src) |
| #define | CASE_MASK_INS_COMMON_INT(Inst, Suffix, src) |
| #define | CASE_MASKZ_INS_COMMON_INT(Inst, Suffix, src) |
| #define | CASE_AVX512_INS_COMMON_INT(Inst, Suffix, src) |
| #define | CASE_FPCLASS_PACKED(Inst, src) |
| #define | CASE_FPCLASS_PACKED_MEM(Inst) |
| #define | CASE_FPCLASS_SCALAR(Inst, src) |
| #define | CASE_PTERNLOG(Inst, 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 (MCRegister Reg) |
| 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) |
| static bool | printPTERNLOGComments (const MCInst *MI, raw_ostream &OS, const MCInstrInfo &MCII) |
| static bool | printFPCLASSComments (const MCInst *MI, raw_ostream &OS, const MCInstrInfo &MCII) |
Variables | |
| constexpr EnumStringDef< uint8_t > | TernlogFunctionDefs [] |
| constexpr auto | TernlogFunctions = BUILD_ENUM_STRINGS(TernlogFunctionDefs) |
| #define CASE_AVX512_FMA | ( | Inst, | |
| suf ) |
Definition at line 184 of file X86InstComments.cpp.
| #define CASE_AVX512_INS_COMMON | ( | Inst, | |
| Suffix, | |||
| src ) |
Definition at line 39 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
| #define CASE_AVX512_INS_COMMON_INT | ( | Inst, | |
| Suffix, | |||
| src ) |
Definition at line 50 of file X86InstComments.cpp.
| #define CASE_AVX_INS_COMMON | ( | Inst, | |
| Suffix, | |||
| src ) |
Definition at line 30 of file X86InstComments.cpp.
| #define CASE_FMA | ( | Inst, | |
| suf ) |
Definition at line 189 of file X86InstComments.cpp.
| #define CASE_FMA4 | ( | Inst, | |
| suf ) |
Definition at line 224 of file X86InstComments.cpp.
| #define CASE_FMA4_PACKED_MR | ( | Inst | ) |
Definition at line 236 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA4_PACKED_RM | ( | Inst | ) |
Definition at line 232 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA4_PACKED_RR | ( | Inst | ) |
Definition at line 228 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA4_SCALAR_MR | ( | Inst | ) |
Definition at line 252 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA4_SCALAR_RM | ( | Inst | ) |
Definition at line 246 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA4_SCALAR_RR | ( | Inst | ) |
Definition at line 240 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA_PACKED_MEM | ( | Inst | ) |
Definition at line 198 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA_PACKED_REG | ( | Inst | ) |
Definition at line 194 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA_SCALAR_MEM | ( | Inst | ) |
Definition at line 214 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FMA_SCALAR_REG | ( | Inst | ) |
Definition at line 204 of file X86InstComments.cpp.
Referenced by printFMAComments().
| #define CASE_FPCLASS_PACKED | ( | Inst, | |
| src ) |
Definition at line 55 of file X86InstComments.cpp.
Referenced by printFPCLASSComments().
| #define CASE_FPCLASS_PACKED_MEM | ( | Inst | ) |
Definition at line 61 of file X86InstComments.cpp.
Referenced by printFPCLASSComments().
| #define CASE_FPCLASS_SCALAR | ( | Inst, | |
| src ) |
Definition at line 65 of file X86InstComments.cpp.
Referenced by printFPCLASSComments().
| #define CASE_MASK_INS_COMMON | ( | Inst, | |
| Suffix, | |||
| src ) |
Definition at line 33 of file X86InstComments.cpp.
| #define CASE_MASK_INS_COMMON_INT | ( | Inst, | |
| Suffix, | |||
| src ) |
Definition at line 44 of file X86InstComments.cpp.
| #define CASE_MASK_MOVDUP | ( | Inst, | |
| src ) |
Definition at line 82 of file X86InstComments.cpp.
| #define CASE_MASK_SHUF | ( | Inst, | |
| src ) |
Definition at line 126 of file X86InstComments.cpp.
| #define CASE_MASK_UNPCK | ( | Inst, | |
| src ) |
Definition at line 108 of file X86InstComments.cpp.
| #define CASE_MASK_VPERM | ( | Inst, | |
| src ) |
Definition at line 158 of file X86InstComments.cpp.
| #define CASE_MASK_VPERMILPI | ( | Inst, | |
| src ) |
Definition at line 143 of file X86InstComments.cpp.
| #define CASE_MASK_VSHUF | ( | Inst, | |
| src ) |
Definition at line 172 of file X86InstComments.cpp.
| #define CASE_MASKZ_INS_COMMON | ( | Inst, | |
| Suffix, | |||
| src ) |
Definition at line 36 of file X86InstComments.cpp.
| #define CASE_MASKZ_INS_COMMON_INT | ( | Inst, | |
| Suffix, | |||
| src ) |
Definition at line 47 of file X86InstComments.cpp.
| #define CASE_MASKZ_MOVDUP | ( | Inst, | |
| src ) |
Definition at line 87 of file X86InstComments.cpp.
| #define CASE_MASKZ_SHUF | ( | Inst, | |
| src ) |
Definition at line 131 of file X86InstComments.cpp.
| #define CASE_MASKZ_UNPCK | ( | Inst, | |
| src ) |
Definition at line 113 of file X86InstComments.cpp.
| #define CASE_MASKZ_VPERM | ( | Inst, | |
| src ) |
Definition at line 162 of file X86InstComments.cpp.
| #define CASE_MASKZ_VPERMILPI | ( | Inst, | |
| src ) |
Definition at line 148 of file X86InstComments.cpp.
| #define CASE_MASKZ_VSHUF | ( | Inst, | |
| src ) |
Definition at line 178 of file X86InstComments.cpp.
| #define CASE_MOVDUP | ( | Inst, | |
| src ) |
Definition at line 74 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
| #define CASE_PMOVZX | ( | Inst, | |
| src ) |
Definition at line 92 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
| #define CASE_PTERNLOG | ( | Inst, | |
| src ) |
Definition at line 69 of file X86InstComments.cpp.
Referenced by printPTERNLOGComments().
| #define CASE_SHUF | ( | Inst, | |
| suf ) |
Definition at line 118 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
| #define CASE_SSE_INS_COMMON | ( | Inst, | |
| src ) |
Definition at line 27 of file X86InstComments.cpp.
| #define CASE_UNPCK | ( | Inst, | |
| src ) |
Definition at line 100 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
| #define CASE_VPERM | ( | Inst, | |
| src ) |
Definition at line 153 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
| #define CASE_VPERMILPI | ( | Inst, | |
| src ) |
Definition at line 136 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
| #define CASE_VSHUF | ( | Inst, | |
| src ) |
Definition at line 166 of file X86InstComments.cpp.
Referenced by llvm::EmitAnyX86InstComments().
|
static |
Definition at line 277 of file X86InstComments.cpp.
References llvm::X86ATTInstPrinter::getRegisterName(), and Reg.
Referenced by llvm::EmitAnyX86InstComments(), printFMAComments(), printFPCLASSComments(), printMasking(), and printPTERNLOGComments().
|
static |
Definition at line 271 of file X86InstComments.cpp.
References getVectorRegSize(), and MI.
Referenced by llvm::EmitAnyX86InstComments().
|
static |
Definition at line 258 of file X86InstComments.cpp.
References llvm::X86II::isXMMReg(), llvm::X86II::isYMMReg(), llvm::X86II::isZMMReg(), llvm_unreachable, and Reg.
Referenced by getRegOperandNumElts().
|
static |
Definition at line 306 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, and printMasking().
Referenced by llvm::EmitAnyX86InstComments().
|
static |
Definition at line 1000 of file X86InstComments.cpp.
References CASE_FPCLASS_PACKED, CASE_FPCLASS_PACKED_MEM, CASE_FPCLASS_SCALAR, E(), getRegName(), I, MI, and printMasking().
Referenced by llvm::EmitAnyX86InstComments().
|
static |
Wraps the destination register name with AVX512 mask/maskz filtering.
Definition at line 282 of file X86InstComments.cpp.
References llvm::X86II::EVEX_K, llvm::X86II::EVEX_Z, llvm::MCInstrInfo::get(), getRegName(), MI, and llvm::MCOI::TIED_TO.
Referenced by llvm::EmitAnyX86InstComments(), printFMAComments(), printFPCLASSComments(), and printPTERNLOGComments().
|
static |
Definition at line 917 of file X86InstComments.cpp.
References CASE_PTERNLOG, getRegName(), MI, printMasking(), and TernlogFunctions.
Referenced by llvm::EmitAnyX86InstComments().
|
constexpr |
Definition at line 657 of file X86InstComments.cpp.
|
constexpr |
Definition at line 915 of file X86InstComments.cpp.
Referenced by printPTERNLOGComments().