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