14#ifndef LLVM_LIB_TARGET_X86_UTILS_X86INSTRFMA3INFO_H
15#define LLVM_LIB_TARGET_X86_UTILS_X86INSTRFMA3INFO_H
This is an optimization pass for GlobalISel generic memory operations.
const X86InstrFMA3Group * getFMA3Group(unsigned Opcode, uint64_t TSFlags)
Returns a reference to a group of FMA3 opcodes to where the given Opcode is included.
This class is used to group {132, 213, 231} forms of FMA opcodes together.
uint16_t Attributes
This bitfield specifies the attributes associated with the created FMA groups of opcodes.
@ Intrinsic
This bit must be set in the 'Attributes' field of FMA group if such group of FMA opcodes consists of ...
@ KZeroMasked
This bit must be set in the 'Attributes' field of FMA group if such group of FMA opcodes consists of ...
@ KMergeMasked
This bit must be set in the 'Attributes' field of FMA group if such group of FMA opcodes consists of ...
unsigned get213Opcode() const
Returns the 213 form of FMA opcode.
bool isKMasked() const
Returns true iff the group of FMA opcodes holds any of k-masked opcodes.
bool operator<(const X86InstrFMA3Group &RHS) const
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.
uint16_t Opcodes[3]
An array holding 3 forms of FMA opcodes.
unsigned get132Opcode() const
Returns the 132 form of FMA opcode.
bool isKZeroMasked() const
Returns true iff the group of FMA opcodes holds k-zero-masked opcodes.