LLVM: llvm::X86InstrFMA3Group Struct Reference (original) (raw)

This class is used to group {132, 213, 231} forms of FMA opcodes together. More...

#include "[Target/X86/X86InstrFMA3Info.h](X86InstrFMA3Info%5F8h%5Fsource.html)"

Public Types
enum { Form132, Form213, Form231 }
enum : uint16_t { Intrinsic = 0x1 , KMergeMasked = 0x2 , KZeroMasked = 0x4 }
Public Member Functions
unsigned get132Opcode () const
Returns the 132 form of FMA opcode.
unsigned get213Opcode () const
Returns the 213 form of FMA opcode.
unsigned get231Opcode () const
Returns the 231 form of FMA opcode.
bool isIntrinsic () const
Returns true iff the group of FMA opcodes holds intrinsic opcodes.
bool isKMergeMasked () const
Returns true iff the group of FMA opcodes holds k-merge-masked opcodes.
bool isKZeroMasked () const
Returns true iff the group of FMA opcodes holds k-zero-masked opcodes.
bool isKMasked () const
Returns true iff the group of FMA opcodes holds any of k-masked opcodes.
bool operator< (const X86InstrFMA3Group &RHS) const
Public Attributes
uint16_t Opcodes [3]
An array holding 3 forms of FMA opcodes.
uint16_t Attributes
This bitfield specifies the attributes associated with the created FMA groups of opcodes.

This class is used to group {132, 213, 231} forms of FMA opcodes together.

Each of the groups has either 3 opcodes, Also, each group has an attributes field describing it.

Definition at line 24 of file X86InstrFMA3Info.h.

anonymous enum

Enumerator
Intrinsic This bit must be set in the 'Attributes' field of FMA group if such group of FMA opcodes consists of FMA intrinsic opcodes.
KMergeMasked This bit must be set in the 'Attributes' field of FMA group if such group of FMA opcodes consists of AVX512 opcodes accepting a k-mask and passing the elements from the 1st operand to the result of the operation when the correpondings bits in the k-mask are unset.
KZeroMasked This bit must be set in the 'Attributes' field of FMA group if such group of FMA opcodes consists of AVX512 opcodes accepting a k-zeromask.

Definition at line 38 of file X86InstrFMA3Info.h.

anonymous enum

get132Opcode()

unsigned llvm::X86InstrFMA3Group::get132Opcode ( ) const inline

get213Opcode()

unsigned llvm::X86InstrFMA3Group::get213Opcode ( ) const inline

get231Opcode()

unsigned llvm::X86InstrFMA3Group::get231Opcode ( ) const inline

isIntrinsic()

bool llvm::X86InstrFMA3Group::isIntrinsic ( ) const inline

isKMasked()

bool llvm::X86InstrFMA3Group::isKMasked ( ) const inline

isKMergeMasked()

bool llvm::X86InstrFMA3Group::isKMergeMasked ( ) const inline

isKZeroMasked()

bool llvm::X86InstrFMA3Group::isKZeroMasked ( ) const inline

operator<()

Attributes

uint16_t llvm::X86InstrFMA3Group::Attributes

Opcodes

uint16_t llvm::X86InstrFMA3Group::Opcodes[3]


The documentation for this struct was generated from the following file: