#include #include ">

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

#include "[X86InstrFMA3Info.h](X86InstrFMA3Info%5F8h%5Fsource.html)"
#include "[X86InstrInfo.h](X86InstrInfo%5F8h%5Fsource.html)"
#include <atomic>
#include <cassert>
#include <cstdint>

Go to the source code of this file.

Macros
#define FMA3GROUP(Name, Suf, Attrs)
#define FMA3GROUP_MASKED(Name, Suf, Attrs)
#define FMA3GROUP_MASKED_INT(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)
#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)
Functions
static void verifyTables ()

FMA3GROUP

#define FMA3GROUP ( Name,
Suf,
Attrs )

Value:

{ { X86::Name##132##Suf, X86::Name##213##Suf, X86::Name##231##Suf }, Attrs },

Definition at line 22 of file X86InstrFMA3Info.cpp.

FMA3GROUP_FULL

#define FMA3GROUP_FULL ( Name,
Attrs )

Value:

FMA3GROUP_PACKED_BF16(Name, Attrs) \

FMA3GROUP_PACKED_DHS(Name, Attrs) \

FMA3GROUP_SCALAR(Name, Attrs)

#define FMA3GROUP_PACKED_BF16(Name, Attrs)

Definition at line 76 of file X86InstrFMA3Info.cpp.

FMA3GROUP_MASKED

#define FMA3GROUP_MASKED ( Name,
Suf,
Attrs )

Value:

FMA3GROUP(Name, Suf, Attrs) \

#define FMA3GROUP(Name, Suf, Attrs)

@ 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 ...

Definition at line 25 of file X86InstrFMA3Info.cpp.

FMA3GROUP_MASKED_INT

#define FMA3GROUP_MASKED_INT ( Name,
Suf,
Attrs )

FMA3GROUP_PACKED_AVX512_ALL

#define FMA3GROUP_PACKED_AVX512_ALL ( Name,
Suf,
Attrs )

Value:

FMA3GROUP_PACKED_AVX512_WIDTHS(Name, BF16, Suf, Attrs) \

FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PD, Suf, Attrs) \

FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PH, Suf, Attrs) \

FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PS, Suf, Attrs)

#define FMA3GROUP_PACKED_AVX512_WIDTHS(Name, Type, Suf, Attrs)

Definition at line 95 of file X86InstrFMA3Info.cpp.

FMA3GROUP_PACKED_AVX512_DHS

#define FMA3GROUP_PACKED_AVX512_DHS ( Name,
Suf,
Attrs )

Value:

FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PD, Suf, Attrs) \

FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PH, Suf, Attrs) \

FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PS, Suf, Attrs)

Definition at line 101 of file X86InstrFMA3Info.cpp.

FMA3GROUP_PACKED_AVX512_ROUND

#define FMA3GROUP_PACKED_AVX512_ROUND ( Name,
Suf,
Attrs )

Value:

FMA3GROUP_MASKED(Name, PDZ##Suf, Attrs) \

FMA3GROUP_MASKED(Name, PHZ##Suf, Attrs) \

FMA3GROUP_MASKED(Name, PSZ##Suf, Attrs)

#define FMA3GROUP_MASKED(Name, Suf, Attrs)

Definition at line 106 of file X86InstrFMA3Info.cpp.

FMA3GROUP_PACKED_AVX512_WIDTHS

#define FMA3GROUP_PACKED_AVX512_WIDTHS ( Name,
Type,
Suf,
Attrs )

Value:

FMA3GROUP_MASKED(Name, Type##Z128##Suf, Attrs) \

FMA3GROUP_MASKED(Name, Type##Z256##Suf, Attrs) \

FMA3GROUP_MASKED(Name, Type##Z##Suf, Attrs)

The instances of the Type class are immutable: once they are created, they are never changed.

Definition at line 90 of file X86InstrFMA3Info.cpp.

FMA3GROUP_PACKED_BF16

#define FMA3GROUP_PACKED_BF16 ( Name,
Attrs )

Value:

FMA3GROUP_PACKED_WIDTHS_Z(Name, BF16, Attrs)

#define FMA3GROUP_PACKED_WIDTHS_Z(Name, Suf, Attrs)

Definition at line 55 of file X86InstrFMA3Info.cpp.

FMA3GROUP_PACKED_DHS

#define FMA3GROUP_PACKED_DHS ( Name,
Attrs )

Value:

FMA3GROUP_PACKED_WIDTHS_ALL(Name, PD, Attrs) \

FMA3GROUP_PACKED_WIDTHS_Z(Name, PH, Attrs) \

FMA3GROUP_PACKED_WIDTHS_ALL(Name, PS, Attrs)

#define FMA3GROUP_PACKED_WIDTHS_ALL(Name, Suf, Attrs)

Definition at line 50 of file X86InstrFMA3Info.cpp.

FMA3GROUP_PACKED_WIDTHS_ALL

#define FMA3GROUP_PACKED_WIDTHS_ALL ( Name,
Suf,
Attrs )

Value:

FMA3GROUP(Name, Suf##Ym, Attrs) \

FMA3GROUP(Name, Suf##Yr, Attrs) \

FMA3GROUP_PACKED_WIDTHS_Z(Name, Suf, Attrs) \

FMA3GROUP(Name, Suf##m, Attrs) \

FMA3GROUP(Name, Suf##r, Attrs)

Definition at line 43 of file X86InstrFMA3Info.cpp.

FMA3GROUP_PACKED_WIDTHS_Z

#define FMA3GROUP_PACKED_WIDTHS_Z ( Name,
Suf,
Attrs )

Value:

FMA3GROUP_MASKED(Name, Suf##Z128m, Attrs) \

FMA3GROUP_MASKED(Name, Suf##Z128r, Attrs) \

FMA3GROUP_MASKED(Name, Suf##Z256m, Attrs) \

FMA3GROUP_MASKED(Name, Suf##Z256r, Attrs) \

FMA3GROUP_MASKED(Name, Suf##Zm, Attrs) \

FMA3GROUP_MASKED(Name, Suf##Zr, Attrs) \

Definition at line 35 of file X86InstrFMA3Info.cpp.

FMA3GROUP_SCALAR

#define FMA3GROUP_SCALAR ( Name,
Attrs )

Value:

FMA3GROUP_SCALAR_WIDTHS_ALL(Name, SD, Attrs) \

FMA3GROUP_SCALAR_WIDTHS_Z(Name, SH, Attrs) \

FMA3GROUP_SCALAR_WIDTHS_ALL(Name, SS, Attrs)

#define FMA3GROUP_SCALAR_WIDTHS_ALL(Name, Suf, Attrs)

Definition at line 71 of file X86InstrFMA3Info.cpp.

FMA3GROUP_SCALAR_AVX512_ROUND

#define FMA3GROUP_SCALAR_AVX512_ROUND ( Name,
Suf,
Attrs )

Value:

FMA3GROUP(Name, SDZ##Suf, Attrs) \

FMA3GROUP_MASKED_INT(Name, SDZ##Suf, Attrs) \

FMA3GROUP(Name, SHZ##Suf, Attrs) \

FMA3GROUP_MASKED_INT(Name, SHZ##Suf, Attrs) \

FMA3GROUP(Name, SSZ##Suf, Attrs) \

FMA3GROUP_MASKED_INT(Name, SSZ##Suf, Attrs)

Definition at line 111 of file X86InstrFMA3Info.cpp.

FMA3GROUP_SCALAR_WIDTHS_ALL

#define FMA3GROUP_SCALAR_WIDTHS_ALL ( Name,
Suf,
Attrs )

Value:

FMA3GROUP_SCALAR_WIDTHS_Z(Name, Suf, Attrs) \

FMA3GROUP(Name, Suf##m, Attrs) \

FMA3GROUP(Name, Suf##r, Attrs) \

#define FMA3GROUP_SCALAR_WIDTHS_Z(Name, Suf, Attrs)

@ Intrinsic

This bit must be set in the 'Attributes' field of FMA group if such group of FMA opcodes consists of ...

Definition at line 64 of file X86InstrFMA3Info.cpp.

FMA3GROUP_SCALAR_WIDTHS_Z

#define FMA3GROUP_SCALAR_WIDTHS_Z ( Name,
Suf,
Attrs )

Value:

FMA3GROUP(Name, Suf##Zm, Attrs) \

FMA3GROUP(Name, Suf##Zr, Attrs) \

Definition at line 58 of file X86InstrFMA3Info.cpp.

verifyTables()

void verifyTables ( ) static

BroadcastGroups

Groups

RoundGroups