Lines Matching full:attrs

22 #define FMA3GROUP(Name, Suf, Attrs) \
23 { { X86::Name##132##Suf, X86::Name##213##Suf, X86::Name##231##Suf }, Attrs },
25 #define FMA3GROUP_MASKED(Name, Suf, Attrs) \
26 FMA3GROUP(Name, Suf, Attrs) \
27 FMA3GROUP(Name, Suf##k, Attrs | X86InstrFMA3Group::KMergeMasked) \
28 FMA3GROUP(Name, Suf##kz, Attrs | X86InstrFMA3Group::KZeroMasked)
30 #define FMA3GROUP_MASKED_INT(Name, Suf, Attrs) \
31 FMA3GROUP(Name, Suf##_Int, Attrs) \
32 FMA3GROUP(Name, Suf##k_Int, Attrs | X86InstrFMA3Group::KMergeMasked) \
33 FMA3GROUP(Name, Suf##kz_Int, Attrs | X86InstrFMA3Group::KZeroMasked)
35 #define FMA3GROUP_PACKED_WIDTHS_Z(Name, Suf, Attrs) \
36 FMA3GROUP_MASKED(Name, Suf##Z128m, Attrs) \
37 FMA3GROUP_MASKED(Name, Suf##Z128r, Attrs) \
38 FMA3GROUP_MASKED(Name, Suf##Z256m, Attrs) \
39 FMA3GROUP_MASKED(Name, Suf##Z256r, Attrs) \
40 FMA3GROUP_MASKED(Name, Suf##Zm, Attrs) \
41 FMA3GROUP_MASKED(Name, Suf##Zr, Attrs) \
43 #define FMA3GROUP_PACKED_WIDTHS_ALL(Name, Suf, Attrs) \
44 FMA3GROUP(Name, Suf##Ym, Attrs) \
45 FMA3GROUP(Name, Suf##Yr, Attrs) \
46 FMA3GROUP_PACKED_WIDTHS_Z(Name, Suf, Attrs) \
47 FMA3GROUP(Name, Suf##m, Attrs) \
48 FMA3GROUP(Name, Suf##r, Attrs)
50 #define FMA3GROUP_PACKED_DHS(Name, Attrs) \
51 FMA3GROUP_PACKED_WIDTHS_ALL(Name, PD, Attrs) \
52 FMA3GROUP_PACKED_WIDTHS_Z(Name, PH, Attrs) \
53 FMA3GROUP_PACKED_WIDTHS_ALL(Name, PS, Attrs)
55 #define FMA3GROUP_PACKED_BF16(Name, Attrs) \
56 FMA3GROUP_PACKED_WIDTHS_Z(Name, BF16, Attrs)
58 #define FMA3GROUP_SCALAR_WIDTHS_Z(Name, Suf, Attrs) \
59 FMA3GROUP(Name, Suf##Zm, Attrs) \
60 FMA3GROUP_MASKED_INT(Name, Suf##Zm, Attrs | X86InstrFMA3Group::Intrinsic) \
61 FMA3GROUP(Name, Suf##Zr, Attrs) \
62 FMA3GROUP_MASKED_INT(Name, Suf##Zr, Attrs | X86InstrFMA3Group::Intrinsic) \
64 #define FMA3GROUP_SCALAR_WIDTHS_ALL(Name, Suf, Attrs) \
65 FMA3GROUP_SCALAR_WIDTHS_Z(Name, Suf, Attrs) \
66 FMA3GROUP(Name, Suf##m, Attrs) \
67 FMA3GROUP(Name, Suf##m_Int, Attrs | X86InstrFMA3Group::Intrinsic) \
68 FMA3GROUP(Name, Suf##r, Attrs) \
69 FMA3GROUP(Name, Suf##r_Int, Attrs | X86InstrFMA3Group::Intrinsic)
71 #define FMA3GROUP_SCALAR(Name, Attrs) \
72 FMA3GROUP_SCALAR_WIDTHS_ALL(Name, SD, Attrs) \
73 FMA3GROUP_SCALAR_WIDTHS_Z(Name, SH, Attrs) \
74 FMA3GROUP_SCALAR_WIDTHS_ALL(Name, SS, Attrs)
76 #define FMA3GROUP_FULL(Name, Attrs) \
77 FMA3GROUP_PACKED_BF16(Name, Attrs) \
78 FMA3GROUP_PACKED_DHS(Name, Attrs) \
79 FMA3GROUP_SCALAR(Name, Attrs)
90 #define FMA3GROUP_PACKED_AVX512_WIDTHS(Name, Type, Suf, Attrs) \
91 FMA3GROUP_MASKED(Name, Type##Z128##Suf, Attrs) \
92 FMA3GROUP_MASKED(Name, Type##Z256##Suf, Attrs) \
93 FMA3GROUP_MASKED(Name, Type##Z##Suf, Attrs)
95 #define FMA3GROUP_PACKED_AVX512_ALL(Name, Suf, Attrs) \
96 FMA3GROUP_PACKED_AVX512_WIDTHS(Name, BF16, Suf, Attrs) \
97 FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PD, Suf, Attrs) \
98 FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PH, Suf, Attrs) \
99 FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PS, Suf, Attrs)
101 #define FMA3GROUP_PACKED_AVX512_DHS(Name, Suf, Attrs) \
102 FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PD, Suf, Attrs) \
103 FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PH, Suf, Attrs) \
104 FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PS, Suf, Attrs)
106 #define FMA3GROUP_PACKED_AVX512_ROUND(Name, Suf, Attrs) \
107 FMA3GROUP_MASKED(Name, PDZ256##Suf, Attrs) \
108 FMA3GROUP_MASKED(Name, PDZ##Suf, Attrs) \
109 FMA3GROUP_MASKED(Name, PHZ256##Suf, Attrs) \
110 FMA3GROUP_MASKED(Name, PHZ##Suf, Attrs) \
111 FMA3GROUP_MASKED(Name, PSZ256##Suf, Attrs) \
112 FMA3GROUP_MASKED(Name, PSZ##Suf, Attrs)
114 #define FMA3GROUP_SCALAR_AVX512_ROUND(Name, Suf, Attrs) \
115 FMA3GROUP(Name, SDZ##Suf, Attrs) \
116 FMA3GROUP_MASKED_INT(Name, SDZ##Suf, Attrs) \
117 FMA3GROUP(Name, SHZ##Suf, Attrs) \
118 FMA3GROUP_MASKED_INT(Name, SHZ##Suf, Attrs) \
119 FMA3GROUP(Name, SSZ##Suf, Attrs) \
120 FMA3GROUP_MASKED_INT(Name, SSZ##Suf, Attrs)