#include "X86InstrFMA3Info.h"
#include "X86InstrInfo.h"
#include "llvm/Support/Threading.h"
#include <atomic>
#include <cassert>
#include <cstdint>
usingnamespacellvm;
#define FMA3GROUP(Name, Suf, Attrs) …
#define FMA3GROUP_MASKED(Name, Suf, Attrs) …
#define FMA3GROUP_PACKED_WIDTHS_Z(Name, Suf, Attrs) … \
#define FMA3GROUP_PACKED_WIDTHS_ALL(Name, Suf, Attrs) …
#define FMA3GROUP_PACKED_DHS(Name, Attrs) …
#define FMA3GROUP_PACKED_BF16(Name, Attrs) …
#define FMA3GROUP_SCALAR_WIDTHS_Z(Name, Suf, Attrs) … \
#define FMA3GROUP_SCALAR_WIDTHS_ALL(Name, Suf, Attrs) …
#define FMA3GROUP_SCALAR(Name, Attrs) …
#define FMA3GROUP_FULL(Name, Attrs) …
static const X86InstrFMA3Group Groups[] = …;
#define FMA3GROUP_PACKED_AVX512_WIDTHS(Name, Type, Suf, Attrs) …
#define FMA3GROUP_PACKED_AVX512_ALL(Name, Suf, Attrs) …
#define FMA3GROUP_PACKED_AVX512_DHS(Name, Suf, Attrs) …
#define FMA3GROUP_PACKED_AVX512_ROUND(Name, Suf, Attrs) …
#define FMA3GROUP_SCALAR_AVX512_ROUND(Name, Suf, Attrs) …
static const X86InstrFMA3Group BroadcastGroups[] = …;
static const X86InstrFMA3Group RoundGroups[] = …;
static void verifyTables() { … }
const X86InstrFMA3Group *llvm::getFMA3Group(unsigned Opcode, uint64_t TSFlags) { … }