1 | //===- X86ManualCompressEVEXTables.def ---------------------------*- C++ -*-==// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | // \file |
9 | // This file defines all the entries in X86 EVEX compression tables that need |
10 | // special handling. |
11 | //===----------------------------------------------------------------------===// |
12 | |
13 | #ifndef NOCOMP |
14 | #define NOCOMP(INSN) |
15 | #endif |
16 | NOCOMP(VCVTQQ2PDZ128rr) |
17 | NOCOMP(VCVTQQ2PSZ128rm) |
18 | NOCOMP(VCVTQQ2PSZ128rr) |
19 | NOCOMP(VDBPSADBWZ128rmi) |
20 | NOCOMP(VDBPSADBWZ128rri) |
21 | NOCOMP(VPMAXSQZ128rm) |
22 | NOCOMP(VPMAXSQZ128rr) |
23 | NOCOMP(VPMAXUQZ128rm) |
24 | NOCOMP(VPMAXUQZ128rr) |
25 | NOCOMP(VPMINSQZ128rm) |
26 | NOCOMP(VPMINSQZ128rr) |
27 | NOCOMP(VPMINUQZ128rm) |
28 | NOCOMP(VPMINUQZ128rr) |
29 | NOCOMP(VPMULLQZ128rm) |
30 | NOCOMP(VPMULLQZ128rr) |
31 | NOCOMP(VPSRAQZ128ri) |
32 | NOCOMP(VPSRAQZ128rm) |
33 | NOCOMP(VPSRAQZ128rr) |
34 | NOCOMP(VSCALEFPSZ128rm) |
35 | NOCOMP(VDBPSADBWZ256rmi) |
36 | NOCOMP(VDBPSADBWZ256rri) |
37 | NOCOMP(VPMAXSQZ256rm) |
38 | NOCOMP(VPMAXSQZ256rr) |
39 | NOCOMP(VPMAXUQZ256rm) |
40 | NOCOMP(VPMAXUQZ256rr) |
41 | NOCOMP(VPMINSQZ256rm) |
42 | NOCOMP(VPMINSQZ256rr) |
43 | NOCOMP(VPMINUQZ256rm) |
44 | NOCOMP(VPMINUQZ256rr) |
45 | NOCOMP(VPMULLQZ256rm) |
46 | NOCOMP(VPMULLQZ256rr) |
47 | NOCOMP(VPSRAQZ256ri) |
48 | NOCOMP(VPSRAQZ256rm) |
49 | NOCOMP(VPSRAQZ256rr) |
50 | NOCOMP(VSCALEFPSZ256rm) |
51 | #undef NOCOMP |
52 | |
53 | #ifndef ENTRY |
54 | #define ENTRY(OLD, NEW) |
55 | #endif |
56 | ENTRY(VALIGNDZ128rmi, VPALIGNRrmi) |
57 | ENTRY(VALIGNDZ128rri, VPALIGNRrri) |
58 | ENTRY(VALIGNQZ128rmi, VPALIGNRrmi) |
59 | ENTRY(VALIGNQZ128rri, VPALIGNRrri) |
60 | ENTRY(VMAXSDZrm, VMAXSDrm) |
61 | ENTRY(VMAXSDZrr, VMAXSDrr) |
62 | ENTRY(VMAXSSZrm, VMAXSSrm) |
63 | ENTRY(VMAXSSZrr, VMAXSSrr) |
64 | ENTRY(VMINSDZrm, VMINSDrm) |
65 | ENTRY(VMINSDZrr, VMINSDrr) |
66 | ENTRY(VMINSSZrm, VMINSSrm) |
67 | ENTRY(VMINSSZrr, VMINSSrr) |
68 | ENTRY(VMOVDQU16Z128mr, VMOVDQUmr) |
69 | ENTRY(VMOVDQU16Z128rm, VMOVDQUrm) |
70 | ENTRY(VMOVDQU16Z128rr, VMOVDQUrr) |
71 | ENTRY(VMOVDQU8Z128mr, VMOVDQUmr) |
72 | ENTRY(VMOVDQU8Z128rm, VMOVDQUrm) |
73 | ENTRY(VMOVDQU8Z128rr, VMOVDQUrr) |
74 | ENTRY(VMOVDQU16Z256mr, VMOVDQUYmr) |
75 | ENTRY(VMOVDQU16Z256rm, VMOVDQUYrm) |
76 | ENTRY(VMOVDQU16Z256rr, VMOVDQUYrr) |
77 | ENTRY(VMOVDQU8Z256mr, VMOVDQUYmr) |
78 | ENTRY(VMOVDQU8Z256rm, VMOVDQUYrm) |
79 | ENTRY(VMOVDQU8Z256rr, VMOVDQUYrr) |
80 | ENTRY(VSHUFF32X4Z256rmi, VPERM2F128rm) |
81 | ENTRY(VSHUFF32X4Z256rri, VPERM2F128rr) |
82 | ENTRY(VSHUFF64X2Z256rmi, VPERM2F128rm) |
83 | ENTRY(VSHUFF64X2Z256rri, VPERM2F128rr) |
84 | ENTRY(VSHUFI32X4Z256rmi, VPERM2I128rm) |
85 | ENTRY(VSHUFI32X4Z256rri, VPERM2I128rr) |
86 | ENTRY(VSHUFI64X2Z256rmi, VPERM2I128rm) |
87 | ENTRY(VSHUFI64X2Z256rri, VPERM2I128rr) |
88 | // W bit does not match |
89 | ENTRY(VADDPDZ128rm, VADDPDrm) |
90 | ENTRY(VADDPDZ128rr, VADDPDrr) |
91 | ENTRY(VADDSDZrm, VADDSDrm) |
92 | ENTRY(VADDSDZrm_Int, VADDSDrm_Int) |
93 | ENTRY(VADDSDZrr, VADDSDrr) |
94 | ENTRY(VADDSDZrr_Int, VADDSDrr_Int) |
95 | ENTRY(VANDNPDZ128rm, VANDNPDrm) |
96 | ENTRY(VANDNPDZ128rr, VANDNPDrr) |
97 | ENTRY(VANDPDZ128rm, VANDPDrm) |
98 | ENTRY(VANDPDZ128rr, VANDPDrr) |
99 | ENTRY(VCOMISDZrm, VCOMISDrm) |
100 | ENTRY(VCOMISDZrm_Int, VCOMISDrm_Int) |
101 | ENTRY(VCOMISDZrr, VCOMISDrr) |
102 | ENTRY(VCOMISDZrr_Int, VCOMISDrr_Int) |
103 | ENTRY(VCVTPD2DQZ128rm, VCVTPD2DQrm) |
104 | ENTRY(VCVTPD2DQZ128rr, VCVTPD2DQrr) |
105 | ENTRY(VCVTPD2PSZ128rm, VCVTPD2PSrm) |
106 | ENTRY(VCVTPD2PSZ128rr, VCVTPD2PSrr) |
107 | ENTRY(VCVTSD2SSZrm, VCVTSD2SSrm) |
108 | ENTRY(VCVTSD2SSZrm_Int, VCVTSD2SSrm_Int) |
109 | ENTRY(VCVTSD2SSZrr, VCVTSD2SSrr) |
110 | ENTRY(VCVTSD2SSZrr_Int, VCVTSD2SSrr_Int) |
111 | ENTRY(VCVTTPD2DQZ128rm, VCVTTPD2DQrm) |
112 | ENTRY(VCVTTPD2DQZ128rr, VCVTTPD2DQrr) |
113 | ENTRY(VDIVPDZ128rm, VDIVPDrm) |
114 | ENTRY(VDIVPDZ128rr, VDIVPDrr) |
115 | ENTRY(VDIVSDZrm, VDIVSDrm) |
116 | ENTRY(VDIVSDZrm_Int, VDIVSDrm_Int) |
117 | ENTRY(VDIVSDZrr, VDIVSDrr) |
118 | ENTRY(VDIVSDZrr_Int, VDIVSDrr_Int) |
119 | ENTRY(VMAXCPDZ128rm, VMAXCPDrm) |
120 | ENTRY(VMAXCPDZ128rr, VMAXCPDrr) |
121 | ENTRY(VMAXCSDZrm, VMAXCSDrm) |
122 | ENTRY(VMAXCSDZrr, VMAXCSDrr) |
123 | ENTRY(VMAXPDZ128rm, VMAXPDrm) |
124 | ENTRY(VMAXPDZ128rr, VMAXPDrr) |
125 | ENTRY(VMAXSDZrm_Int, VMAXSDrm_Int) |
126 | ENTRY(VMAXSDZrr_Int, VMAXSDrr_Int) |
127 | ENTRY(VMINCPDZ128rm, VMINCPDrm) |
128 | ENTRY(VMINCPDZ128rr, VMINCPDrr) |
129 | ENTRY(VMINCSDZrm, VMINCSDrm) |
130 | ENTRY(VMINCSDZrr, VMINCSDrr) |
131 | ENTRY(VMINPDZ128rm, VMINPDrm) |
132 | ENTRY(VMINPDZ128rr, VMINPDrr) |
133 | ENTRY(VMINSDZrm_Int, VMINSDrm_Int) |
134 | ENTRY(VMINSDZrr_Int, VMINSDrr_Int) |
135 | ENTRY(VMOVAPDZ128mr, VMOVAPDmr) |
136 | ENTRY(VMOVAPDZ128rm, VMOVAPDrm) |
137 | ENTRY(VMOVAPDZ128rr, VMOVAPDrr) |
138 | ENTRY(VMOVDDUPZ128rm, VMOVDDUPrm) |
139 | ENTRY(VMOVDDUPZ128rr, VMOVDDUPrr) |
140 | ENTRY(VMOVDQA64Z128mr, VMOVDQAmr) |
141 | ENTRY(VMOVDQA64Z128rm, VMOVDQArm) |
142 | ENTRY(VMOVDQA64Z128rr, VMOVDQArr) |
143 | ENTRY(VMOVDQU64Z128mr, VMOVDQUmr) |
144 | ENTRY(VMOVDQU64Z128rm, VMOVDQUrm) |
145 | ENTRY(VMOVDQU64Z128rr, VMOVDQUrr) |
146 | ENTRY(VMOVHPDZ128mr, VMOVHPDmr) |
147 | ENTRY(VMOVHPDZ128rm, VMOVHPDrm) |
148 | ENTRY(VMOVLPDZ128mr, VMOVLPDmr) |
149 | ENTRY(VMOVLPDZ128rm, VMOVLPDrm) |
150 | ENTRY(VMOVNTPDZ128mr, VMOVNTPDmr) |
151 | ENTRY(VMOVPQI2QIZmr, VMOVPQI2QImr) |
152 | ENTRY(VMOVPQI2QIZrr, VMOVPQI2QIrr) |
153 | ENTRY(VMOVQI2PQIZrm, VMOVQI2PQIrm) |
154 | ENTRY(VMOVSDZmr, VMOVSDmr) |
155 | ENTRY(VMOVSDZrm, VMOVSDrm) |
156 | ENTRY(VMOVSDZrm_alt, VMOVSDrm_alt) |
157 | ENTRY(VMOVSDZrr, VMOVSDrr) |
158 | ENTRY(VMOVUPDZ128mr, VMOVUPDmr) |
159 | ENTRY(VMOVUPDZ128rm, VMOVUPDrm) |
160 | ENTRY(VMOVUPDZ128rr, VMOVUPDrr) |
161 | ENTRY(VMOVZPQILo2PQIZrr, VMOVZPQILo2PQIrr) |
162 | ENTRY(VMULPDZ128rm, VMULPDrm) |
163 | ENTRY(VMULPDZ128rr, VMULPDrr) |
164 | ENTRY(VMULSDZrm, VMULSDrm) |
165 | ENTRY(VMULSDZrm_Int, VMULSDrm_Int) |
166 | ENTRY(VMULSDZrr, VMULSDrr) |
167 | ENTRY(VMULSDZrr_Int, VMULSDrr_Int) |
168 | ENTRY(VORPDZ128rm, VORPDrm) |
169 | ENTRY(VORPDZ128rr, VORPDrr) |
170 | ENTRY(VPADDQZ128rm, VPADDQrm) |
171 | ENTRY(VPADDQZ128rr, VPADDQrr) |
172 | ENTRY(VPANDNQZ128rm, VPANDNrm) |
173 | ENTRY(VPANDNQZ128rr, VPANDNrr) |
174 | ENTRY(VPANDQZ128rm, VPANDrm) |
175 | ENTRY(VPANDQZ128rr, VPANDrr) |
176 | ENTRY(VPERMILPDZ128mi, VPERMILPDmi) |
177 | ENTRY(VPERMILPDZ128ri, VPERMILPDri) |
178 | ENTRY(VPERMILPDZ128rm, VPERMILPDrm) |
179 | ENTRY(VPERMILPDZ128rr, VPERMILPDrr) |
180 | ENTRY(VPMULDQZ128rm, VPMULDQrm) |
181 | ENTRY(VPMULDQZ128rr, VPMULDQrr) |
182 | ENTRY(VPMULUDQZ128rm, VPMULUDQrm) |
183 | ENTRY(VPMULUDQZ128rr, VPMULUDQrr) |
184 | ENTRY(VPORQZ128rm, VPORrm) |
185 | ENTRY(VPORQZ128rr, VPORrr) |
186 | ENTRY(VPSLLQZ128ri, VPSLLQri) |
187 | ENTRY(VPSLLQZ128rm, VPSLLQrm) |
188 | ENTRY(VPSLLQZ128rr, VPSLLQrr) |
189 | ENTRY(VPSRLQZ128ri, VPSRLQri) |
190 | ENTRY(VPSRLQZ128rm, VPSRLQrm) |
191 | ENTRY(VPSRLQZ128rr, VPSRLQrr) |
192 | ENTRY(VPSUBQZ128rm, VPSUBQrm) |
193 | ENTRY(VPSUBQZ128rr, VPSUBQrr) |
194 | ENTRY(VPUNPCKHQDQZ128rm, VPUNPCKHQDQrm) |
195 | ENTRY(VPUNPCKHQDQZ128rr, VPUNPCKHQDQrr) |
196 | ENTRY(VPUNPCKLQDQZ128rm, VPUNPCKLQDQrm) |
197 | ENTRY(VPUNPCKLQDQZ128rr, VPUNPCKLQDQrr) |
198 | ENTRY(VPXORQZ128rm, VPXORrm) |
199 | ENTRY(VPXORQZ128rr, VPXORrr) |
200 | ENTRY(VRNDSCALEPDZ128rmi, VROUNDPDmi) |
201 | ENTRY(VRNDSCALEPDZ128rri, VROUNDPDri) |
202 | ENTRY(VRNDSCALESDZm, VROUNDSDmi) |
203 | ENTRY(VRNDSCALESDZm_Int, VROUNDSDmi_Int) |
204 | ENTRY(VRNDSCALESDZr, VROUNDSDri) |
205 | ENTRY(VRNDSCALESDZr_Int, VROUNDSDri_Int) |
206 | ENTRY(VSHUFPDZ128rmi, VSHUFPDrmi) |
207 | ENTRY(VSHUFPDZ128rri, VSHUFPDrri) |
208 | ENTRY(VSQRTPDZ128m, VSQRTPDm) |
209 | ENTRY(VSQRTPDZ128r, VSQRTPDr) |
210 | ENTRY(VSQRTSDZm, VSQRTSDm) |
211 | ENTRY(VSQRTSDZm_Int, VSQRTSDm_Int) |
212 | ENTRY(VSQRTSDZr, VSQRTSDr) |
213 | ENTRY(VSQRTSDZr_Int, VSQRTSDr_Int) |
214 | ENTRY(VSUBPDZ128rm, VSUBPDrm) |
215 | ENTRY(VSUBPDZ128rr, VSUBPDrr) |
216 | ENTRY(VSUBSDZrm, VSUBSDrm) |
217 | ENTRY(VSUBSDZrm_Int, VSUBSDrm_Int) |
218 | ENTRY(VSUBSDZrr, VSUBSDrr) |
219 | ENTRY(VSUBSDZrr_Int, VSUBSDrr_Int) |
220 | ENTRY(VUCOMISDZrm, VUCOMISDrm) |
221 | ENTRY(VUCOMISDZrm_Int, VUCOMISDrm_Int) |
222 | ENTRY(VUCOMISDZrr, VUCOMISDrr) |
223 | ENTRY(VUCOMISDZrr_Int, VUCOMISDrr_Int) |
224 | ENTRY(VUNPCKHPDZ128rm, VUNPCKHPDrm) |
225 | ENTRY(VUNPCKHPDZ128rr, VUNPCKHPDrr) |
226 | ENTRY(VUNPCKLPDZ128rm, VUNPCKLPDrm) |
227 | ENTRY(VUNPCKLPDZ128rr, VUNPCKLPDrr) |
228 | ENTRY(VXORPDZ128rm, VXORPDrm) |
229 | ENTRY(VXORPDZ128rr, VXORPDrr) |
230 | ENTRY(VADDPDZ256rm, VADDPDYrm) |
231 | ENTRY(VADDPDZ256rr, VADDPDYrr) |
232 | ENTRY(VANDNPDZ256rm, VANDNPDYrm) |
233 | ENTRY(VANDNPDZ256rr, VANDNPDYrr) |
234 | ENTRY(VANDPDZ256rm, VANDPDYrm) |
235 | ENTRY(VANDPDZ256rr, VANDPDYrr) |
236 | ENTRY(VCVTPD2DQZ256rm, VCVTPD2DQYrm) |
237 | ENTRY(VCVTPD2DQZ256rr, VCVTPD2DQYrr) |
238 | ENTRY(VCVTPD2PSZ256rm, VCVTPD2PSYrm) |
239 | ENTRY(VCVTPD2PSZ256rr, VCVTPD2PSYrr) |
240 | ENTRY(VCVTTPD2DQZ256rm, VCVTTPD2DQYrm) |
241 | ENTRY(VCVTTPD2DQZ256rr, VCVTTPD2DQYrr) |
242 | ENTRY(VDIVPDZ256rm, VDIVPDYrm) |
243 | ENTRY(VDIVPDZ256rr, VDIVPDYrr) |
244 | ENTRY(VEXTRACTF64x2Z256mr, VEXTRACTF128mr) |
245 | ENTRY(VEXTRACTF64x2Z256rr, VEXTRACTF128rr) |
246 | ENTRY(VEXTRACTI64x2Z256mr, VEXTRACTI128mr) |
247 | ENTRY(VEXTRACTI64x2Z256rr, VEXTRACTI128rr) |
248 | ENTRY(VINSERTF64x2Z256rm, VINSERTF128rm) |
249 | ENTRY(VINSERTF64x2Z256rr, VINSERTF128rr) |
250 | ENTRY(VINSERTI64x2Z256rm, VINSERTI128rm) |
251 | ENTRY(VINSERTI64x2Z256rr, VINSERTI128rr) |
252 | ENTRY(VMAXCPDZ256rm, VMAXCPDYrm) |
253 | ENTRY(VMAXCPDZ256rr, VMAXCPDYrr) |
254 | ENTRY(VMAXPDZ256rm, VMAXPDYrm) |
255 | ENTRY(VMAXPDZ256rr, VMAXPDYrr) |
256 | ENTRY(VMINCPDZ256rm, VMINCPDYrm) |
257 | ENTRY(VMINCPDZ256rr, VMINCPDYrr) |
258 | ENTRY(VMINPDZ256rm, VMINPDYrm) |
259 | ENTRY(VMINPDZ256rr, VMINPDYrr) |
260 | ENTRY(VMOVAPDZ256mr, VMOVAPDYmr) |
261 | ENTRY(VMOVAPDZ256rm, VMOVAPDYrm) |
262 | ENTRY(VMOVAPDZ256rr, VMOVAPDYrr) |
263 | ENTRY(VMOVDDUPZ256rm, VMOVDDUPYrm) |
264 | ENTRY(VMOVDDUPZ256rr, VMOVDDUPYrr) |
265 | ENTRY(VMOVDQA64Z256mr, VMOVDQAYmr) |
266 | ENTRY(VMOVDQA64Z256rm, VMOVDQAYrm) |
267 | ENTRY(VMOVDQA64Z256rr, VMOVDQAYrr) |
268 | ENTRY(VMOVDQU64Z256mr, VMOVDQUYmr) |
269 | ENTRY(VMOVDQU64Z256rm, VMOVDQUYrm) |
270 | ENTRY(VMOVDQU64Z256rr, VMOVDQUYrr) |
271 | ENTRY(VMOVNTPDZ256mr, VMOVNTPDYmr) |
272 | ENTRY(VMOVUPDZ256mr, VMOVUPDYmr) |
273 | ENTRY(VMOVUPDZ256rm, VMOVUPDYrm) |
274 | ENTRY(VMOVUPDZ256rr, VMOVUPDYrr) |
275 | ENTRY(VMULPDZ256rm, VMULPDYrm) |
276 | ENTRY(VMULPDZ256rr, VMULPDYrr) |
277 | ENTRY(VORPDZ256rm, VORPDYrm) |
278 | ENTRY(VORPDZ256rr, VORPDYrr) |
279 | ENTRY(VPADDQZ256rm, VPADDQYrm) |
280 | ENTRY(VPADDQZ256rr, VPADDQYrr) |
281 | ENTRY(VPANDNQZ256rm, VPANDNYrm) |
282 | ENTRY(VPANDNQZ256rr, VPANDNYrr) |
283 | ENTRY(VPANDQZ256rm, VPANDYrm) |
284 | ENTRY(VPANDQZ256rr, VPANDYrr) |
285 | ENTRY(VPERMILPDZ256mi, VPERMILPDYmi) |
286 | ENTRY(VPERMILPDZ256ri, VPERMILPDYri) |
287 | ENTRY(VPERMILPDZ256rm, VPERMILPDYrm) |
288 | ENTRY(VPERMILPDZ256rr, VPERMILPDYrr) |
289 | ENTRY(VPMULDQZ256rm, VPMULDQYrm) |
290 | ENTRY(VPMULDQZ256rr, VPMULDQYrr) |
291 | ENTRY(VPMULUDQZ256rm, VPMULUDQYrm) |
292 | ENTRY(VPMULUDQZ256rr, VPMULUDQYrr) |
293 | ENTRY(VPORQZ256rm, VPORYrm) |
294 | ENTRY(VPORQZ256rr, VPORYrr) |
295 | ENTRY(VPSLLQZ256ri, VPSLLQYri) |
296 | ENTRY(VPSLLQZ256rm, VPSLLQYrm) |
297 | ENTRY(VPSLLQZ256rr, VPSLLQYrr) |
298 | ENTRY(VPSRLQZ256ri, VPSRLQYri) |
299 | ENTRY(VPSRLQZ256rm, VPSRLQYrm) |
300 | ENTRY(VPSRLQZ256rr, VPSRLQYrr) |
301 | ENTRY(VPSUBQZ256rm, VPSUBQYrm) |
302 | ENTRY(VPSUBQZ256rr, VPSUBQYrr) |
303 | ENTRY(VPUNPCKHQDQZ256rm, VPUNPCKHQDQYrm) |
304 | ENTRY(VPUNPCKHQDQZ256rr, VPUNPCKHQDQYrr) |
305 | ENTRY(VPUNPCKLQDQZ256rm, VPUNPCKLQDQYrm) |
306 | ENTRY(VPUNPCKLQDQZ256rr, VPUNPCKLQDQYrr) |
307 | ENTRY(VPXORQZ256rm, VPXORYrm) |
308 | ENTRY(VPXORQZ256rr, VPXORYrr) |
309 | ENTRY(VRNDSCALEPDZ256rmi, VROUNDPDYmi) |
310 | ENTRY(VRNDSCALEPDZ256rri, VROUNDPDYri) |
311 | ENTRY(VSHUFPDZ256rmi, VSHUFPDYrmi) |
312 | ENTRY(VSHUFPDZ256rri, VSHUFPDYrri) |
313 | ENTRY(VSQRTPDZ256m, VSQRTPDYm) |
314 | ENTRY(VSQRTPDZ256r, VSQRTPDYr) |
315 | ENTRY(VSUBPDZ256rm, VSUBPDYrm) |
316 | ENTRY(VSUBPDZ256rr, VSUBPDYrr) |
317 | ENTRY(VUNPCKHPDZ256rm, VUNPCKHPDYrm) |
318 | ENTRY(VUNPCKHPDZ256rr, VUNPCKHPDYrr) |
319 | ENTRY(VUNPCKLPDZ256rm, VUNPCKLPDYrm) |
320 | ENTRY(VUNPCKLPDZ256rr, VUNPCKLPDYrr) |
321 | ENTRY(VXORPDZ256rm, VXORPDYrm) |
322 | ENTRY(VXORPDZ256rr, VXORPDYrr) |
323 | ENTRY(VPBROADCASTQZ128rm, VPBROADCASTQrm) |
324 | ENTRY(VPBROADCASTQZ128rr, VPBROADCASTQrr) |
325 | ENTRY(VBROADCASTF64X2Z128rm, VBROADCASTF128rm) |
326 | ENTRY(VBROADCASTI64X2Z128rm, VBROADCASTI128rm) |
327 | ENTRY(VBROADCASTSDZ256rm, VBROADCASTSDYrm) |
328 | ENTRY(VBROADCASTSDZ256rr, VBROADCASTSDYrr) |
329 | ENTRY(VPBROADCASTQZ256rm, VPBROADCASTQYrm) |
330 | ENTRY(VPBROADCASTQZ256rr, VPBROADCASTQYrr) |
331 | #undef ENTRY |
332 | |
333 | #ifndef NOCOMP_ND |
334 | #define NOCOMP_ND(INSN) |
335 | #endif |
336 | // When condition evaluates to false, the destination register is zeroed for |
337 | // nonNDD CFCMOV but not for NDD CFCMOV. |
338 | NOCOMP_ND(CFCMOV16rm_ND) |
339 | NOCOMP_ND(CFCMOV16rr_ND) |
340 | NOCOMP_ND(CFCMOV32rm_ND) |
341 | NOCOMP_ND(CFCMOV32rr_ND) |
342 | NOCOMP_ND(CFCMOV64rm_ND) |
343 | NOCOMP_ND(CFCMOV64rr_ND) |
344 | #undef NOCOMP_ND |
345 | |
346 | #ifndef ENTRY_ND |
347 | #define ENTRY_ND(OLD, NEW) |
348 | #endif |
349 | ENTRY_ND(MOVBE32rr, BSWAP32r) |
350 | ENTRY_ND(MOVBE64rr, BSWAP64r) |
351 | #undef ENTRY_ND |
352 | |
353 | #ifndef ENTRY_SSE2AVX |
354 | #define ENTRY_SSE2AVX(OLD, NEW) |
355 | #endif |
356 | ENTRY_SSE2AVX(BLENDVPDrm0, VBLENDVPDrmr) |
357 | ENTRY_SSE2AVX(BLENDVPDrr0, VBLENDVPDrrr) |
358 | ENTRY_SSE2AVX(BLENDVPSrm0, VBLENDVPSrmr) |
359 | ENTRY_SSE2AVX(BLENDVPSrr0, VBLENDVPSrrr) |
360 | ENTRY_SSE2AVX(PBLENDVBrm0, VPBLENDVBrmr) |
361 | ENTRY_SSE2AVX(PBLENDVBrr0, VPBLENDVBrrr) |
362 | #undef ENTRY_SSE2AVX |
363 | |