LLVM: lib/Target/X86/MCTargetDesc/X86InstComments.cpp File Reference (original) (raw)

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)

CASE_AVX512_FMA

#define CASE_AVX512_FMA ( Inst,
suf )

Value:

CASE_AVX512_INS_COMMON(Inst, Z, suf) \

CASE_AVX512_INS_COMMON(Inst, Z256, suf) \

CASE_AVX512_INS_COMMON(Inst, Z128, suf)

Definition at line 183 of file X86InstComments.cpp.

CASE_AVX512_INS_COMMON

#define CASE_AVX512_INS_COMMON ( Inst,
Suffix,
src )

CASE_AVX512_INS_COMMON_INT

#define CASE_AVX512_INS_COMMON_INT ( Inst,
Suffix,
src )

Value:

CASE_AVX_INS_COMMON(Inst, Suffix, src##_Int) \

CASE_MASK_INS_COMMON_INT(Inst, Suffix, src) \

CASE_MASKZ_INS_COMMON_INT(Inst, Suffix, src)

Definition at line 49 of file X86InstComments.cpp.

CASE_AVX_INS_COMMON

#define CASE_AVX_INS_COMMON ( Inst,
Suffix,
src )

CASE_FMA

#define CASE_FMA ( Inst,
suf )

Value:

CASE_AVX512_FMA(Inst, suf) \

CASE_AVX_INS_COMMON(Inst, , suf) \

CASE_AVX_INS_COMMON(Inst, Y, suf)

static TableGen::Emitter::Opt Y("gen-skeleton-entry", EmitSkeleton, "Generate example skeleton entry")

Definition at line 188 of file X86InstComments.cpp.

CASE_FMA4

#define CASE_FMA4 ( Inst,
suf )

CASE_FMA4_PACKED_MR

#define CASE_FMA4_PACKED_MR ( Inst )

CASE_FMA4_PACKED_RM

#define CASE_FMA4_PACKED_RM ( Inst )

CASE_FMA4_PACKED_RR

#define CASE_FMA4_PACKED_RR ( Inst )

CASE_FMA4_SCALAR_MR

#define CASE_FMA4_SCALAR_MR ( Inst )

Value:

CASE_AVX_INS_COMMON(Inst##SD4, , mr) \

CASE_AVX_INS_COMMON(Inst##SS4, , mr) \

CASE_AVX_INS_COMMON(Inst##SD4, , mr_Int) \

CASE_AVX_INS_COMMON(Inst##SS4, , mr_Int)

Definition at line 251 of file X86InstComments.cpp.

Referenced by printFMAComments().

CASE_FMA4_SCALAR_RM

#define CASE_FMA4_SCALAR_RM ( Inst )

Value:

CASE_AVX_INS_COMMON(Inst##SD4, , rm) \

CASE_AVX_INS_COMMON(Inst##SS4, , rm) \

CASE_AVX_INS_COMMON(Inst##SD4, , rm_Int) \

CASE_AVX_INS_COMMON(Inst##SS4, , rm_Int)

Definition at line 245 of file X86InstComments.cpp.

Referenced by printFMAComments().

CASE_FMA4_SCALAR_RR

#define CASE_FMA4_SCALAR_RR ( Inst )

Value:

CASE_AVX_INS_COMMON(Inst##SD4, , rr) \

CASE_AVX_INS_COMMON(Inst##SS4, , rr) \

CASE_AVX_INS_COMMON(Inst##SD4, , rr_Int) \

CASE_AVX_INS_COMMON(Inst##SS4, , rr_Int)

Definition at line 239 of file X86InstComments.cpp.

Referenced by printFMAComments().

CASE_FMA_PACKED_MEM

#define CASE_FMA_PACKED_MEM ( Inst )

CASE_FMA_PACKED_REG

#define CASE_FMA_PACKED_REG ( Inst )

CASE_FMA_SCALAR_MEM

#define CASE_FMA_SCALAR_MEM ( Inst )

Value:

CASE_AVX_INS_COMMON(Inst##SD, , m) \

CASE_AVX_INS_COMMON(Inst##SS, , m) \

CASE_AVX_INS_COMMON(Inst##SD, , m_Int) \

CASE_AVX_INS_COMMON(Inst##SS, , m_Int) \

CASE_AVX_INS_COMMON(Inst##SD, Z, m) \

CASE_AVX_INS_COMMON(Inst##SS, Z, m) \

CASE_AVX512_INS_COMMON_INT(Inst##SD, Z, m) \

CASE_AVX512_INS_COMMON_INT(Inst##SS, Z, m)

Definition at line 213 of file X86InstComments.cpp.

Referenced by printFMAComments().

CASE_FMA_SCALAR_REG

#define CASE_FMA_SCALAR_REG ( Inst )

Value:

CASE_AVX_INS_COMMON(Inst##SD, , r) \

CASE_AVX_INS_COMMON(Inst##SS, , r) \

CASE_AVX_INS_COMMON(Inst##SD, , r_Int) \

CASE_AVX_INS_COMMON(Inst##SS, , r_Int) \

CASE_AVX_INS_COMMON(Inst##SD, Z, r) \

CASE_AVX_INS_COMMON(Inst##SS, Z, r) \

CASE_AVX512_INS_COMMON_INT(Inst##SD, Z, r) \

CASE_AVX512_INS_COMMON_INT(Inst##SS, Z, r)

Definition at line 203 of file X86InstComments.cpp.

Referenced by printFMAComments().

CASE_FPCLASS_PACKED

#define CASE_FPCLASS_PACKED ( Inst,
src )

Value:

CASE_AVX_INS_COMMON(Inst, Z, src##i) \

CASE_AVX_INS_COMMON(Inst, Z256, src##i) \

CASE_AVX_INS_COMMON(Inst, Z128, src##i) \

CASE_MASK_INS_COMMON(Inst, Z, src##i)

Definition at line 54 of file X86InstComments.cpp.

Referenced by printFPCLASSComments().

CASE_FPCLASS_PACKED_MEM

#define CASE_FPCLASS_PACKED_MEM ( Inst )

CASE_FPCLASS_SCALAR

#define CASE_FPCLASS_SCALAR ( Inst,
src )

CASE_MASK_INS_COMMON

#define CASE_MASK_INS_COMMON ( Inst,
Suffix,
src )

CASE_MASK_INS_COMMON_INT

#define CASE_MASK_INS_COMMON_INT ( Inst,
Suffix,
src )

CASE_MASK_MOVDUP

#define CASE_MASK_MOVDUP ( Inst,
src )

Value:

CASE_MASK_INS_COMMON(Inst, Z, r##src) \

CASE_MASK_INS_COMMON(Inst, Z256, r##src) \

CASE_MASK_INS_COMMON(Inst, Z128, r##src)

Definition at line 81 of file X86InstComments.cpp.

CASE_MASK_SHUF

#define CASE_MASK_SHUF ( Inst,
src )

Value:

CASE_MASK_INS_COMMON(Inst, Z, r##src##i) \

CASE_MASK_INS_COMMON(Inst, Z256, r##src##i) \

CASE_MASK_INS_COMMON(Inst, Z128, r##src##i)

Definition at line 125 of file X86InstComments.cpp.

CASE_MASK_UNPCK

#define CASE_MASK_UNPCK ( Inst,
src )

Value:

CASE_MASK_INS_COMMON(Inst, Z, r##src) \

CASE_MASK_INS_COMMON(Inst, Z256, r##src) \

CASE_MASK_INS_COMMON(Inst, Z128, r##src)

Definition at line 107 of file X86InstComments.cpp.

CASE_MASK_VPERM

#define CASE_MASK_VPERM ( Inst,
src )

CASE_MASK_VPERMILPI

#define CASE_MASK_VPERMILPI ( Inst,
src )

Value:

CASE_MASK_INS_COMMON(Inst, Z, src##i) \

CASE_MASK_INS_COMMON(Inst, Z256, src##i) \

CASE_MASK_INS_COMMON(Inst, Z128, src##i)

Definition at line 142 of file X86InstComments.cpp.

CASE_MASK_VSHUF

#define CASE_MASK_VSHUF ( Inst,
src )

Value:

CASE_MASK_INS_COMMON(SHUFF##Inst, Z, r##src##i) \

CASE_MASK_INS_COMMON(SHUFI##Inst, Z, r##src##i) \

CASE_MASK_INS_COMMON(SHUFF##Inst, Z256, r##src##i) \

CASE_MASK_INS_COMMON(SHUFI##Inst, Z256, r##src##i)

Definition at line 171 of file X86InstComments.cpp.

CASE_MASKZ_INS_COMMON

#define CASE_MASKZ_INS_COMMON ( Inst,
Suffix,
src )

CASE_MASKZ_INS_COMMON_INT

#define CASE_MASKZ_INS_COMMON_INT ( Inst,
Suffix,
src )

CASE_MASKZ_MOVDUP

#define CASE_MASKZ_MOVDUP ( Inst,
src )

Value:

CASE_MASKZ_INS_COMMON(Inst, Z, r##src) \

CASE_MASKZ_INS_COMMON(Inst, Z256, r##src) \

CASE_MASKZ_INS_COMMON(Inst, Z128, r##src)

Definition at line 86 of file X86InstComments.cpp.

CASE_MASKZ_SHUF

#define CASE_MASKZ_SHUF ( Inst,
src )

Value:

CASE_MASKZ_INS_COMMON(Inst, Z, r##src##i) \

CASE_MASKZ_INS_COMMON(Inst, Z256, r##src##i) \

CASE_MASKZ_INS_COMMON(Inst, Z128, r##src##i)

Definition at line 130 of file X86InstComments.cpp.

CASE_MASKZ_UNPCK

#define CASE_MASKZ_UNPCK ( Inst,
src )

Value:

CASE_MASKZ_INS_COMMON(Inst, Z, r##src) \

CASE_MASKZ_INS_COMMON(Inst, Z256, r##src) \

CASE_MASKZ_INS_COMMON(Inst, Z128, r##src)

Definition at line 112 of file X86InstComments.cpp.

CASE_MASKZ_VPERM

#define CASE_MASKZ_VPERM ( Inst,
src )

CASE_MASKZ_VPERMILPI

#define CASE_MASKZ_VPERMILPI ( Inst,
src )

Value:

CASE_MASKZ_INS_COMMON(Inst, Z, src##i) \

CASE_MASKZ_INS_COMMON(Inst, Z256, src##i) \

CASE_MASKZ_INS_COMMON(Inst, Z128, src##i)

Definition at line 147 of file X86InstComments.cpp.

CASE_MASKZ_VSHUF

#define CASE_MASKZ_VSHUF ( Inst,
src )

Value:

CASE_MASKZ_INS_COMMON(SHUFF##Inst, Z, r##src##i) \

CASE_MASKZ_INS_COMMON(SHUFI##Inst, Z, r##src##i) \

CASE_MASKZ_INS_COMMON(SHUFF##Inst, Z256, r##src##i) \

CASE_MASKZ_INS_COMMON(SHUFI##Inst, Z256, r##src##i)

Definition at line 177 of file X86InstComments.cpp.

CASE_MOVDUP

#define CASE_MOVDUP ( Inst,
src )

Value:

CASE_AVX512_INS_COMMON(Inst, Z, r##src) \

CASE_AVX512_INS_COMMON(Inst, Z256, r##src) \

CASE_AVX512_INS_COMMON(Inst, Z128, r##src) \

CASE_AVX_INS_COMMON(Inst, , r##src) \

CASE_AVX_INS_COMMON(Inst, Y, r##src) \

CASE_SSE_INS_COMMON(Inst, r##src)

Definition at line 73 of file X86InstComments.cpp.

Referenced by llvm::EmitAnyX86InstComments().

CASE_PMOVZX

#define CASE_PMOVZX ( Inst,
src )

Value:

CASE_AVX512_INS_COMMON(Inst, Z, r##src) \

CASE_AVX512_INS_COMMON(Inst, Z256, r##src) \

CASE_AVX512_INS_COMMON(Inst, Z128, r##src) \

CASE_AVX_INS_COMMON(Inst, , r##src) \

CASE_AVX_INS_COMMON(Inst, Y, r##src) \

CASE_SSE_INS_COMMON(Inst, r##src)

Definition at line 91 of file X86InstComments.cpp.

Referenced by llvm::EmitAnyX86InstComments().

CASE_PTERNLOG

#define CASE_PTERNLOG ( Inst,
src )

CASE_SHUF

#define CASE_SHUF ( Inst,
suf )

Value:

CASE_AVX512_INS_COMMON(Inst, Z, suf) \

CASE_AVX512_INS_COMMON(Inst, Z256, suf) \

CASE_AVX512_INS_COMMON(Inst, Z128, suf) \

CASE_AVX_INS_COMMON(Inst, , suf) \

CASE_AVX_INS_COMMON(Inst, Y, suf) \

CASE_SSE_INS_COMMON(Inst, suf)

Definition at line 117 of file X86InstComments.cpp.

Referenced by llvm::EmitAnyX86InstComments().

CASE_SSE_INS_COMMON

#define CASE_SSE_INS_COMMON ( Inst,
src )

CASE_UNPCK

#define CASE_UNPCK ( Inst,
src )

Value:

CASE_AVX512_INS_COMMON(Inst, Z, r##src) \

CASE_AVX512_INS_COMMON(Inst, Z256, r##src) \

CASE_AVX512_INS_COMMON(Inst, Z128, r##src) \

CASE_AVX_INS_COMMON(Inst, , r##src) \

CASE_AVX_INS_COMMON(Inst, Y, r##src) \

CASE_SSE_INS_COMMON(Inst, r##src)

Definition at line 99 of file X86InstComments.cpp.

Referenced by llvm::EmitAnyX86InstComments().

CASE_VPERM

#define CASE_VPERM ( Inst,
src )

CASE_VPERMILPI

#define CASE_VPERMILPI ( Inst,
src )

Value:

CASE_AVX512_INS_COMMON(Inst, Z, src##i) \

CASE_AVX512_INS_COMMON(Inst, Z256, src##i) \

CASE_AVX512_INS_COMMON(Inst, Z128, src##i) \

CASE_AVX_INS_COMMON(Inst, , src##i) \

CASE_AVX_INS_COMMON(Inst, Y, src##i)

Definition at line 135 of file X86InstComments.cpp.

Referenced by llvm::EmitAnyX86InstComments().

CASE_VSHUF

#define CASE_VSHUF ( Inst,
src )

Value:

CASE_AVX512_INS_COMMON(SHUFF##Inst, Z, r##src##i) \

CASE_AVX512_INS_COMMON(SHUFI##Inst, Z, r##src##i) \

CASE_AVX512_INS_COMMON(SHUFF##Inst, Z256, r##src##i) \

CASE_AVX512_INS_COMMON(SHUFI##Inst, Z256, r##src##i)

Definition at line 165 of file X86InstComments.cpp.

Referenced by llvm::EmitAnyX86InstComments().

getRegName()

getRegOperandNumElts()

getVectorRegSize()

printFMAComments()

Definition at line 305 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().

printFPCLASSComments()

printMasking()

printPTERNLOGComments()

TernlogFunctions