• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|*                                                                            *|
3|* X86 EVEX2VEX tables                                                        *|
4|*                                                                            *|
5|* Automatically generated file, do not edit!                                 *|
6|*                                                                            *|
7\*===----------------------------------------------------------------------===*/
8
9// X86 EVEX encoded instructions that have a VEX 128 encoding
10// (table format: <EVEX opcode, VEX-128 opcode>).
11static const X86EvexToVexCompressTableEntry X86EvexToVex128CompressTable[] = {
12  // EVEX scalar with corresponding VEX.
13  { X86::VADDPDZ128rm, X86::VADDPDrm },
14  { X86::VADDPDZ128rr, X86::VADDPDrr },
15  { X86::VADDPSZ128rm, X86::VADDPSrm },
16  { X86::VADDPSZ128rr, X86::VADDPSrr },
17  { X86::VADDSDZrm, X86::VADDSDrm },
18  { X86::VADDSDZrm_Int, X86::VADDSDrm_Int },
19  { X86::VADDSDZrr, X86::VADDSDrr },
20  { X86::VADDSDZrr_Int, X86::VADDSDrr_Int },
21  { X86::VADDSSZrm, X86::VADDSSrm },
22  { X86::VADDSSZrm_Int, X86::VADDSSrm_Int },
23  { X86::VADDSSZrr, X86::VADDSSrr },
24  { X86::VADDSSZrr_Int, X86::VADDSSrr_Int },
25  { X86::VAESDECLASTZ128rm, X86::VAESDECLASTrm },
26  { X86::VAESDECLASTZ128rr, X86::VAESDECLASTrr },
27  { X86::VAESDECZ128rm, X86::VAESDECrm },
28  { X86::VAESDECZ128rr, X86::VAESDECrr },
29  { X86::VAESENCLASTZ128rm, X86::VAESENCLASTrm },
30  { X86::VAESENCLASTZ128rr, X86::VAESENCLASTrr },
31  { X86::VAESENCZ128rm, X86::VAESENCrm },
32  { X86::VAESENCZ128rr, X86::VAESENCrr },
33  { X86::VALIGNDZ128rmi, X86::VPALIGNRrmi },
34  { X86::VALIGNDZ128rri, X86::VPALIGNRrri },
35  { X86::VALIGNQZ128rmi, X86::VPALIGNRrmi },
36  { X86::VALIGNQZ128rri, X86::VPALIGNRrri },
37  { X86::VANDNPDZ128rm, X86::VANDNPDrm },
38  { X86::VANDNPDZ128rr, X86::VANDNPDrr },
39  { X86::VANDNPSZ128rm, X86::VANDNPSrm },
40  { X86::VANDNPSZ128rr, X86::VANDNPSrr },
41  { X86::VANDPDZ128rm, X86::VANDPDrm },
42  { X86::VANDPDZ128rr, X86::VANDPDrr },
43  { X86::VANDPSZ128rm, X86::VANDPSrm },
44  { X86::VANDPSZ128rr, X86::VANDPSrr },
45  { X86::VBROADCASTI32X2Z128m, X86::VPBROADCASTQrm },
46  { X86::VBROADCASTI32X2Z128r, X86::VPBROADCASTQrr },
47  { X86::VBROADCASTSSZ128m, X86::VBROADCASTSSrm },
48  { X86::VBROADCASTSSZ128r, X86::VBROADCASTSSrr },
49  { X86::VCOMISDZrm, X86::VCOMISDrm },
50  { X86::VCOMISDZrm_Int, X86::VCOMISDrm_Int },
51  { X86::VCOMISDZrr, X86::VCOMISDrr },
52  { X86::VCOMISDZrr_Int, X86::VCOMISDrr_Int },
53  { X86::VCOMISSZrm, X86::VCOMISSrm },
54  { X86::VCOMISSZrm_Int, X86::VCOMISSrm_Int },
55  { X86::VCOMISSZrr, X86::VCOMISSrr },
56  { X86::VCOMISSZrr_Int, X86::VCOMISSrr_Int },
57  { X86::VCVTDQ2PDZ128rm, X86::VCVTDQ2PDrm },
58  { X86::VCVTDQ2PDZ128rr, X86::VCVTDQ2PDrr },
59  { X86::VCVTDQ2PSZ128rm, X86::VCVTDQ2PSrm },
60  { X86::VCVTDQ2PSZ128rr, X86::VCVTDQ2PSrr },
61  { X86::VCVTPD2DQZ128rm, X86::VCVTPD2DQrm },
62  { X86::VCVTPD2DQZ128rr, X86::VCVTPD2DQrr },
63  { X86::VCVTPD2PSZ128rm, X86::VCVTPD2PSrm },
64  { X86::VCVTPD2PSZ128rr, X86::VCVTPD2PSrr },
65  { X86::VCVTPH2PSZ128rm, X86::VCVTPH2PSrm },
66  { X86::VCVTPH2PSZ128rr, X86::VCVTPH2PSrr },
67  { X86::VCVTPS2DQZ128rm, X86::VCVTPS2DQrm },
68  { X86::VCVTPS2DQZ128rr, X86::VCVTPS2DQrr },
69  { X86::VCVTPS2PDZ128rm, X86::VCVTPS2PDrm },
70  { X86::VCVTPS2PDZ128rr, X86::VCVTPS2PDrr },
71  { X86::VCVTPS2PHZ128mr, X86::VCVTPS2PHmr },
72  { X86::VCVTPS2PHZ128rr, X86::VCVTPS2PHrr },
73  { X86::VCVTSD2SI64Zrm_Int, X86::VCVTSD2SI64rm_Int },
74  { X86::VCVTSD2SI64Zrr_Int, X86::VCVTSD2SI64rr_Int },
75  { X86::VCVTSD2SIZrm_Int, X86::VCVTSD2SIrm_Int },
76  { X86::VCVTSD2SIZrr_Int, X86::VCVTSD2SIrr_Int },
77  { X86::VCVTSD2SSZrm, X86::VCVTSD2SSrm },
78  { X86::VCVTSD2SSZrm_Int, X86::VCVTSD2SSrm_Int },
79  { X86::VCVTSD2SSZrr, X86::VCVTSD2SSrr },
80  { X86::VCVTSD2SSZrr_Int, X86::VCVTSD2SSrr_Int },
81  { X86::VCVTSI2SDZrm, X86::VCVTSI2SDrm },
82  { X86::VCVTSI2SDZrm_Int, X86::VCVTSI2SDrm_Int },
83  { X86::VCVTSI2SDZrr, X86::VCVTSI2SDrr },
84  { X86::VCVTSI2SDZrr_Int, X86::VCVTSI2SDrr_Int },
85  { X86::VCVTSI2SSZrm, X86::VCVTSI2SSrm },
86  { X86::VCVTSI2SSZrm_Int, X86::VCVTSI2SSrm_Int },
87  { X86::VCVTSI2SSZrr, X86::VCVTSI2SSrr },
88  { X86::VCVTSI2SSZrr_Int, X86::VCVTSI2SSrr_Int },
89  { X86::VCVTSI642SDZrm, X86::VCVTSI642SDrm },
90  { X86::VCVTSI642SDZrm_Int, X86::VCVTSI642SDrm_Int },
91  { X86::VCVTSI642SDZrr, X86::VCVTSI642SDrr },
92  { X86::VCVTSI642SDZrr_Int, X86::VCVTSI642SDrr_Int },
93  { X86::VCVTSI642SSZrm, X86::VCVTSI642SSrm },
94  { X86::VCVTSI642SSZrm_Int, X86::VCVTSI642SSrm_Int },
95  { X86::VCVTSI642SSZrr, X86::VCVTSI642SSrr },
96  { X86::VCVTSI642SSZrr_Int, X86::VCVTSI642SSrr_Int },
97  { X86::VCVTSS2SDZrm, X86::VCVTSS2SDrm },
98  { X86::VCVTSS2SDZrm_Int, X86::VCVTSS2SDrm_Int },
99  { X86::VCVTSS2SDZrr, X86::VCVTSS2SDrr },
100  { X86::VCVTSS2SDZrr_Int, X86::VCVTSS2SDrr_Int },
101  { X86::VCVTSS2SI64Zrm_Int, X86::VCVTSS2SI64rm_Int },
102  { X86::VCVTSS2SI64Zrr_Int, X86::VCVTSS2SI64rr_Int },
103  { X86::VCVTSS2SIZrm_Int, X86::VCVTSS2SIrm_Int },
104  { X86::VCVTSS2SIZrr_Int, X86::VCVTSS2SIrr_Int },
105  { X86::VCVTTPD2DQZ128rm, X86::VCVTTPD2DQrm },
106  { X86::VCVTTPD2DQZ128rr, X86::VCVTTPD2DQrr },
107  { X86::VCVTTPS2DQZ128rm, X86::VCVTTPS2DQrm },
108  { X86::VCVTTPS2DQZ128rr, X86::VCVTTPS2DQrr },
109  { X86::VCVTTSD2SI64Zrm, X86::VCVTTSD2SI64rm },
110  { X86::VCVTTSD2SI64Zrm_Int, X86::VCVTTSD2SI64rm_Int },
111  { X86::VCVTTSD2SI64Zrr, X86::VCVTTSD2SI64rr },
112  { X86::VCVTTSD2SI64Zrr_Int, X86::VCVTTSD2SI64rr_Int },
113  { X86::VCVTTSD2SIZrm, X86::VCVTTSD2SIrm },
114  { X86::VCVTTSD2SIZrm_Int, X86::VCVTTSD2SIrm_Int },
115  { X86::VCVTTSD2SIZrr, X86::VCVTTSD2SIrr },
116  { X86::VCVTTSD2SIZrr_Int, X86::VCVTTSD2SIrr_Int },
117  { X86::VCVTTSS2SI64Zrm, X86::VCVTTSS2SI64rm },
118  { X86::VCVTTSS2SI64Zrm_Int, X86::VCVTTSS2SI64rm_Int },
119  { X86::VCVTTSS2SI64Zrr, X86::VCVTTSS2SI64rr },
120  { X86::VCVTTSS2SI64Zrr_Int, X86::VCVTTSS2SI64rr_Int },
121  { X86::VCVTTSS2SIZrm, X86::VCVTTSS2SIrm },
122  { X86::VCVTTSS2SIZrm_Int, X86::VCVTTSS2SIrm_Int },
123  { X86::VCVTTSS2SIZrr, X86::VCVTTSS2SIrr },
124  { X86::VCVTTSS2SIZrr_Int, X86::VCVTTSS2SIrr_Int },
125  { X86::VDIVPDZ128rm, X86::VDIVPDrm },
126  { X86::VDIVPDZ128rr, X86::VDIVPDrr },
127  { X86::VDIVPSZ128rm, X86::VDIVPSrm },
128  { X86::VDIVPSZ128rr, X86::VDIVPSrr },
129  { X86::VDIVSDZrm, X86::VDIVSDrm },
130  { X86::VDIVSDZrm_Int, X86::VDIVSDrm_Int },
131  { X86::VDIVSDZrr, X86::VDIVSDrr },
132  { X86::VDIVSDZrr_Int, X86::VDIVSDrr_Int },
133  { X86::VDIVSSZrm, X86::VDIVSSrm },
134  { X86::VDIVSSZrm_Int, X86::VDIVSSrm_Int },
135  { X86::VDIVSSZrr, X86::VDIVSSrr },
136  { X86::VDIVSSZrr_Int, X86::VDIVSSrr_Int },
137  { X86::VEXTRACTPSZmr, X86::VEXTRACTPSmr },
138  { X86::VEXTRACTPSZrr, X86::VEXTRACTPSrr },
139  { X86::VFMADD132PDZ128m, X86::VFMADD132PDm },
140  { X86::VFMADD132PDZ128r, X86::VFMADD132PDr },
141  { X86::VFMADD132PSZ128m, X86::VFMADD132PSm },
142  { X86::VFMADD132PSZ128r, X86::VFMADD132PSr },
143  { X86::VFMADD132SDZm, X86::VFMADD132SDm },
144  { X86::VFMADD132SDZm_Int, X86::VFMADD132SDm_Int },
145  { X86::VFMADD132SDZr, X86::VFMADD132SDr },
146  { X86::VFMADD132SDZr_Int, X86::VFMADD132SDr_Int },
147  { X86::VFMADD132SSZm, X86::VFMADD132SSm },
148  { X86::VFMADD132SSZm_Int, X86::VFMADD132SSm_Int },
149  { X86::VFMADD132SSZr, X86::VFMADD132SSr },
150  { X86::VFMADD132SSZr_Int, X86::VFMADD132SSr_Int },
151  { X86::VFMADD213PDZ128m, X86::VFMADD213PDm },
152  { X86::VFMADD213PDZ128r, X86::VFMADD213PDr },
153  { X86::VFMADD213PSZ128m, X86::VFMADD213PSm },
154  { X86::VFMADD213PSZ128r, X86::VFMADD213PSr },
155  { X86::VFMADD213SDZm, X86::VFMADD213SDm },
156  { X86::VFMADD213SDZm_Int, X86::VFMADD213SDm_Int },
157  { X86::VFMADD213SDZr, X86::VFMADD213SDr },
158  { X86::VFMADD213SDZr_Int, X86::VFMADD213SDr_Int },
159  { X86::VFMADD213SSZm, X86::VFMADD213SSm },
160  { X86::VFMADD213SSZm_Int, X86::VFMADD213SSm_Int },
161  { X86::VFMADD213SSZr, X86::VFMADD213SSr },
162  { X86::VFMADD213SSZr_Int, X86::VFMADD213SSr_Int },
163  { X86::VFMADD231PDZ128m, X86::VFMADD231PDm },
164  { X86::VFMADD231PDZ128r, X86::VFMADD231PDr },
165  { X86::VFMADD231PSZ128m, X86::VFMADD231PSm },
166  { X86::VFMADD231PSZ128r, X86::VFMADD231PSr },
167  { X86::VFMADD231SDZm, X86::VFMADD231SDm },
168  { X86::VFMADD231SDZm_Int, X86::VFMADD231SDm_Int },
169  { X86::VFMADD231SDZr, X86::VFMADD231SDr },
170  { X86::VFMADD231SDZr_Int, X86::VFMADD231SDr_Int },
171  { X86::VFMADD231SSZm, X86::VFMADD231SSm },
172  { X86::VFMADD231SSZm_Int, X86::VFMADD231SSm_Int },
173  { X86::VFMADD231SSZr, X86::VFMADD231SSr },
174  { X86::VFMADD231SSZr_Int, X86::VFMADD231SSr_Int },
175  { X86::VFMADDSUB132PDZ128m, X86::VFMADDSUB132PDm },
176  { X86::VFMADDSUB132PDZ128r, X86::VFMADDSUB132PDr },
177  { X86::VFMADDSUB132PSZ128m, X86::VFMADDSUB132PSm },
178  { X86::VFMADDSUB132PSZ128r, X86::VFMADDSUB132PSr },
179  { X86::VFMADDSUB213PDZ128m, X86::VFMADDSUB213PDm },
180  { X86::VFMADDSUB213PDZ128r, X86::VFMADDSUB213PDr },
181  { X86::VFMADDSUB213PSZ128m, X86::VFMADDSUB213PSm },
182  { X86::VFMADDSUB213PSZ128r, X86::VFMADDSUB213PSr },
183  { X86::VFMADDSUB231PDZ128m, X86::VFMADDSUB231PDm },
184  { X86::VFMADDSUB231PDZ128r, X86::VFMADDSUB231PDr },
185  { X86::VFMADDSUB231PSZ128m, X86::VFMADDSUB231PSm },
186  { X86::VFMADDSUB231PSZ128r, X86::VFMADDSUB231PSr },
187  { X86::VFMSUB132PDZ128m, X86::VFMSUB132PDm },
188  { X86::VFMSUB132PDZ128r, X86::VFMSUB132PDr },
189  { X86::VFMSUB132PSZ128m, X86::VFMSUB132PSm },
190  { X86::VFMSUB132PSZ128r, X86::VFMSUB132PSr },
191  { X86::VFMSUB132SDZm, X86::VFMSUB132SDm },
192  { X86::VFMSUB132SDZm_Int, X86::VFMSUB132SDm_Int },
193  { X86::VFMSUB132SDZr, X86::VFMSUB132SDr },
194  { X86::VFMSUB132SDZr_Int, X86::VFMSUB132SDr_Int },
195  { X86::VFMSUB132SSZm, X86::VFMSUB132SSm },
196  { X86::VFMSUB132SSZm_Int, X86::VFMSUB132SSm_Int },
197  { X86::VFMSUB132SSZr, X86::VFMSUB132SSr },
198  { X86::VFMSUB132SSZr_Int, X86::VFMSUB132SSr_Int },
199  { X86::VFMSUB213PDZ128m, X86::VFMSUB213PDm },
200  { X86::VFMSUB213PDZ128r, X86::VFMSUB213PDr },
201  { X86::VFMSUB213PSZ128m, X86::VFMSUB213PSm },
202  { X86::VFMSUB213PSZ128r, X86::VFMSUB213PSr },
203  { X86::VFMSUB213SDZm, X86::VFMSUB213SDm },
204  { X86::VFMSUB213SDZm_Int, X86::VFMSUB213SDm_Int },
205  { X86::VFMSUB213SDZr, X86::VFMSUB213SDr },
206  { X86::VFMSUB213SDZr_Int, X86::VFMSUB213SDr_Int },
207  { X86::VFMSUB213SSZm, X86::VFMSUB213SSm },
208  { X86::VFMSUB213SSZm_Int, X86::VFMSUB213SSm_Int },
209  { X86::VFMSUB213SSZr, X86::VFMSUB213SSr },
210  { X86::VFMSUB213SSZr_Int, X86::VFMSUB213SSr_Int },
211  { X86::VFMSUB231PDZ128m, X86::VFMSUB231PDm },
212  { X86::VFMSUB231PDZ128r, X86::VFMSUB231PDr },
213  { X86::VFMSUB231PSZ128m, X86::VFMSUB231PSm },
214  { X86::VFMSUB231PSZ128r, X86::VFMSUB231PSr },
215  { X86::VFMSUB231SDZm, X86::VFMSUB231SDm },
216  { X86::VFMSUB231SDZm_Int, X86::VFMSUB231SDm_Int },
217  { X86::VFMSUB231SDZr, X86::VFMSUB231SDr },
218  { X86::VFMSUB231SDZr_Int, X86::VFMSUB231SDr_Int },
219  { X86::VFMSUB231SSZm, X86::VFMSUB231SSm },
220  { X86::VFMSUB231SSZm_Int, X86::VFMSUB231SSm_Int },
221  { X86::VFMSUB231SSZr, X86::VFMSUB231SSr },
222  { X86::VFMSUB231SSZr_Int, X86::VFMSUB231SSr_Int },
223  { X86::VFMSUBADD132PDZ128m, X86::VFMSUBADD132PDm },
224  { X86::VFMSUBADD132PDZ128r, X86::VFMSUBADD132PDr },
225  { X86::VFMSUBADD132PSZ128m, X86::VFMSUBADD132PSm },
226  { X86::VFMSUBADD132PSZ128r, X86::VFMSUBADD132PSr },
227  { X86::VFMSUBADD213PDZ128m, X86::VFMSUBADD213PDm },
228  { X86::VFMSUBADD213PDZ128r, X86::VFMSUBADD213PDr },
229  { X86::VFMSUBADD213PSZ128m, X86::VFMSUBADD213PSm },
230  { X86::VFMSUBADD213PSZ128r, X86::VFMSUBADD213PSr },
231  { X86::VFMSUBADD231PDZ128m, X86::VFMSUBADD231PDm },
232  { X86::VFMSUBADD231PDZ128r, X86::VFMSUBADD231PDr },
233  { X86::VFMSUBADD231PSZ128m, X86::VFMSUBADD231PSm },
234  { X86::VFMSUBADD231PSZ128r, X86::VFMSUBADD231PSr },
235  { X86::VFNMADD132PDZ128m, X86::VFNMADD132PDm },
236  { X86::VFNMADD132PDZ128r, X86::VFNMADD132PDr },
237  { X86::VFNMADD132PSZ128m, X86::VFNMADD132PSm },
238  { X86::VFNMADD132PSZ128r, X86::VFNMADD132PSr },
239  { X86::VFNMADD132SDZm, X86::VFNMADD132SDm },
240  { X86::VFNMADD132SDZm_Int, X86::VFNMADD132SDm_Int },
241  { X86::VFNMADD132SDZr, X86::VFNMADD132SDr },
242  { X86::VFNMADD132SDZr_Int, X86::VFNMADD132SDr_Int },
243  { X86::VFNMADD132SSZm, X86::VFNMADD132SSm },
244  { X86::VFNMADD132SSZm_Int, X86::VFNMADD132SSm_Int },
245  { X86::VFNMADD132SSZr, X86::VFNMADD132SSr },
246  { X86::VFNMADD132SSZr_Int, X86::VFNMADD132SSr_Int },
247  { X86::VFNMADD213PDZ128m, X86::VFNMADD213PDm },
248  { X86::VFNMADD213PDZ128r, X86::VFNMADD213PDr },
249  { X86::VFNMADD213PSZ128m, X86::VFNMADD213PSm },
250  { X86::VFNMADD213PSZ128r, X86::VFNMADD213PSr },
251  { X86::VFNMADD213SDZm, X86::VFNMADD213SDm },
252  { X86::VFNMADD213SDZm_Int, X86::VFNMADD213SDm_Int },
253  { X86::VFNMADD213SDZr, X86::VFNMADD213SDr },
254  { X86::VFNMADD213SDZr_Int, X86::VFNMADD213SDr_Int },
255  { X86::VFNMADD213SSZm, X86::VFNMADD213SSm },
256  { X86::VFNMADD213SSZm_Int, X86::VFNMADD213SSm_Int },
257  { X86::VFNMADD213SSZr, X86::VFNMADD213SSr },
258  { X86::VFNMADD213SSZr_Int, X86::VFNMADD213SSr_Int },
259  { X86::VFNMADD231PDZ128m, X86::VFNMADD231PDm },
260  { X86::VFNMADD231PDZ128r, X86::VFNMADD231PDr },
261  { X86::VFNMADD231PSZ128m, X86::VFNMADD231PSm },
262  { X86::VFNMADD231PSZ128r, X86::VFNMADD231PSr },
263  { X86::VFNMADD231SDZm, X86::VFNMADD231SDm },
264  { X86::VFNMADD231SDZm_Int, X86::VFNMADD231SDm_Int },
265  { X86::VFNMADD231SDZr, X86::VFNMADD231SDr },
266  { X86::VFNMADD231SDZr_Int, X86::VFNMADD231SDr_Int },
267  { X86::VFNMADD231SSZm, X86::VFNMADD231SSm },
268  { X86::VFNMADD231SSZm_Int, X86::VFNMADD231SSm_Int },
269  { X86::VFNMADD231SSZr, X86::VFNMADD231SSr },
270  { X86::VFNMADD231SSZr_Int, X86::VFNMADD231SSr_Int },
271  { X86::VFNMSUB132PDZ128m, X86::VFNMSUB132PDm },
272  { X86::VFNMSUB132PDZ128r, X86::VFNMSUB132PDr },
273  { X86::VFNMSUB132PSZ128m, X86::VFNMSUB132PSm },
274  { X86::VFNMSUB132PSZ128r, X86::VFNMSUB132PSr },
275  { X86::VFNMSUB132SDZm, X86::VFNMSUB132SDm },
276  { X86::VFNMSUB132SDZm_Int, X86::VFNMSUB132SDm_Int },
277  { X86::VFNMSUB132SDZr, X86::VFNMSUB132SDr },
278  { X86::VFNMSUB132SDZr_Int, X86::VFNMSUB132SDr_Int },
279  { X86::VFNMSUB132SSZm, X86::VFNMSUB132SSm },
280  { X86::VFNMSUB132SSZm_Int, X86::VFNMSUB132SSm_Int },
281  { X86::VFNMSUB132SSZr, X86::VFNMSUB132SSr },
282  { X86::VFNMSUB132SSZr_Int, X86::VFNMSUB132SSr_Int },
283  { X86::VFNMSUB213PDZ128m, X86::VFNMSUB213PDm },
284  { X86::VFNMSUB213PDZ128r, X86::VFNMSUB213PDr },
285  { X86::VFNMSUB213PSZ128m, X86::VFNMSUB213PSm },
286  { X86::VFNMSUB213PSZ128r, X86::VFNMSUB213PSr },
287  { X86::VFNMSUB213SDZm, X86::VFNMSUB213SDm },
288  { X86::VFNMSUB213SDZm_Int, X86::VFNMSUB213SDm_Int },
289  { X86::VFNMSUB213SDZr, X86::VFNMSUB213SDr },
290  { X86::VFNMSUB213SDZr_Int, X86::VFNMSUB213SDr_Int },
291  { X86::VFNMSUB213SSZm, X86::VFNMSUB213SSm },
292  { X86::VFNMSUB213SSZm_Int, X86::VFNMSUB213SSm_Int },
293  { X86::VFNMSUB213SSZr, X86::VFNMSUB213SSr },
294  { X86::VFNMSUB213SSZr_Int, X86::VFNMSUB213SSr_Int },
295  { X86::VFNMSUB231PDZ128m, X86::VFNMSUB231PDm },
296  { X86::VFNMSUB231PDZ128r, X86::VFNMSUB231PDr },
297  { X86::VFNMSUB231PSZ128m, X86::VFNMSUB231PSm },
298  { X86::VFNMSUB231PSZ128r, X86::VFNMSUB231PSr },
299  { X86::VFNMSUB231SDZm, X86::VFNMSUB231SDm },
300  { X86::VFNMSUB231SDZm_Int, X86::VFNMSUB231SDm_Int },
301  { X86::VFNMSUB231SDZr, X86::VFNMSUB231SDr },
302  { X86::VFNMSUB231SDZr_Int, X86::VFNMSUB231SDr_Int },
303  { X86::VFNMSUB231SSZm, X86::VFNMSUB231SSm },
304  { X86::VFNMSUB231SSZm_Int, X86::VFNMSUB231SSm_Int },
305  { X86::VFNMSUB231SSZr, X86::VFNMSUB231SSr },
306  { X86::VFNMSUB231SSZr_Int, X86::VFNMSUB231SSr_Int },
307  { X86::VGF2P8AFFINEINVQBZ128rmi, X86::VGF2P8AFFINEINVQBrmi },
308  { X86::VGF2P8AFFINEINVQBZ128rri, X86::VGF2P8AFFINEINVQBrri },
309  { X86::VGF2P8AFFINEQBZ128rmi, X86::VGF2P8AFFINEQBrmi },
310  { X86::VGF2P8AFFINEQBZ128rri, X86::VGF2P8AFFINEQBrri },
311  { X86::VGF2P8MULBZ128rm, X86::VGF2P8MULBrm },
312  { X86::VGF2P8MULBZ128rr, X86::VGF2P8MULBrr },
313  { X86::VINSERTPSZrm, X86::VINSERTPSrm },
314  { X86::VINSERTPSZrr, X86::VINSERTPSrr },
315  { X86::VMAXCPDZ128rm, X86::VMAXCPDrm },
316  { X86::VMAXCPDZ128rr, X86::VMAXCPDrr },
317  { X86::VMAXCPSZ128rm, X86::VMAXCPSrm },
318  { X86::VMAXCPSZ128rr, X86::VMAXCPSrr },
319  { X86::VMAXCSDZrm, X86::VMAXCSDrm },
320  { X86::VMAXCSDZrr, X86::VMAXCSDrr },
321  { X86::VMAXCSSZrm, X86::VMAXCSSrm },
322  { X86::VMAXCSSZrr, X86::VMAXCSSrr },
323  { X86::VMAXPDZ128rm, X86::VMAXPDrm },
324  { X86::VMAXPDZ128rr, X86::VMAXPDrr },
325  { X86::VMAXPSZ128rm, X86::VMAXPSrm },
326  { X86::VMAXPSZ128rr, X86::VMAXPSrr },
327  { X86::VMAXSDZrm, X86::VMAXSDrm },
328  { X86::VMAXSDZrm_Int, X86::VMAXSDrm_Int },
329  { X86::VMAXSDZrr, X86::VMAXSDrr },
330  { X86::VMAXSDZrr_Int, X86::VMAXSDrr_Int },
331  { X86::VMAXSSZrm, X86::VMAXSSrm },
332  { X86::VMAXSSZrm_Int, X86::VMAXSSrm_Int },
333  { X86::VMAXSSZrr, X86::VMAXSSrr },
334  { X86::VMAXSSZrr_Int, X86::VMAXSSrr_Int },
335  { X86::VMINCPDZ128rm, X86::VMINCPDrm },
336  { X86::VMINCPDZ128rr, X86::VMINCPDrr },
337  { X86::VMINCPSZ128rm, X86::VMINCPSrm },
338  { X86::VMINCPSZ128rr, X86::VMINCPSrr },
339  { X86::VMINCSDZrm, X86::VMINCSDrm },
340  { X86::VMINCSDZrr, X86::VMINCSDrr },
341  { X86::VMINCSSZrm, X86::VMINCSSrm },
342  { X86::VMINCSSZrr, X86::VMINCSSrr },
343  { X86::VMINPDZ128rm, X86::VMINPDrm },
344  { X86::VMINPDZ128rr, X86::VMINPDrr },
345  { X86::VMINPSZ128rm, X86::VMINPSrm },
346  { X86::VMINPSZ128rr, X86::VMINPSrr },
347  { X86::VMINSDZrm, X86::VMINSDrm },
348  { X86::VMINSDZrm_Int, X86::VMINSDrm_Int },
349  { X86::VMINSDZrr, X86::VMINSDrr },
350  { X86::VMINSDZrr_Int, X86::VMINSDrr_Int },
351  { X86::VMINSSZrm, X86::VMINSSrm },
352  { X86::VMINSSZrm_Int, X86::VMINSSrm_Int },
353  { X86::VMINSSZrr, X86::VMINSSrr },
354  { X86::VMINSSZrr_Int, X86::VMINSSrr_Int },
355  { X86::VMOV64toPQIZrm, X86::VMOV64toPQIrm },
356  { X86::VMOV64toPQIZrr, X86::VMOV64toPQIrr },
357  { X86::VMOV64toSDZrr, X86::VMOV64toSDrr },
358  { X86::VMOVAPDZ128mr, X86::VMOVAPDmr },
359  { X86::VMOVAPDZ128rm, X86::VMOVAPDrm },
360  { X86::VMOVAPDZ128rr, X86::VMOVAPDrr },
361  { X86::VMOVAPDZ128rr_REV, X86::VMOVAPDrr_REV },
362  { X86::VMOVAPSZ128mr, X86::VMOVAPSmr },
363  { X86::VMOVAPSZ128rm, X86::VMOVAPSrm },
364  { X86::VMOVAPSZ128rr, X86::VMOVAPSrr },
365  { X86::VMOVAPSZ128rr_REV, X86::VMOVAPSrr_REV },
366  { X86::VMOVDDUPZ128rm, X86::VMOVDDUPrm },
367  { X86::VMOVDDUPZ128rr, X86::VMOVDDUPrr },
368  { X86::VMOVDI2PDIZrm, X86::VMOVDI2PDIrm },
369  { X86::VMOVDI2PDIZrr, X86::VMOVDI2PDIrr },
370  { X86::VMOVDI2SSZrr, X86::VMOVDI2SSrr },
371  { X86::VMOVDQA32Z128mr, X86::VMOVDQAmr },
372  { X86::VMOVDQA32Z128rm, X86::VMOVDQArm },
373  { X86::VMOVDQA32Z128rr, X86::VMOVDQArr },
374  { X86::VMOVDQA32Z128rr_REV, X86::VMOVDQArr_REV },
375  { X86::VMOVDQA64Z128mr, X86::VMOVDQAmr },
376  { X86::VMOVDQA64Z128rm, X86::VMOVDQArm },
377  { X86::VMOVDQA64Z128rr, X86::VMOVDQArr },
378  { X86::VMOVDQA64Z128rr_REV, X86::VMOVDQArr_REV },
379  { X86::VMOVDQU16Z128mr, X86::VMOVDQUmr },
380  { X86::VMOVDQU16Z128rm, X86::VMOVDQUrm },
381  { X86::VMOVDQU16Z128rr, X86::VMOVDQUrr },
382  { X86::VMOVDQU16Z128rr_REV, X86::VMOVDQUrr_REV },
383  { X86::VMOVDQU32Z128mr, X86::VMOVDQUmr },
384  { X86::VMOVDQU32Z128rm, X86::VMOVDQUrm },
385  { X86::VMOVDQU32Z128rr, X86::VMOVDQUrr },
386  { X86::VMOVDQU32Z128rr_REV, X86::VMOVDQUrr_REV },
387  { X86::VMOVDQU64Z128mr, X86::VMOVDQUmr },
388  { X86::VMOVDQU64Z128rm, X86::VMOVDQUrm },
389  { X86::VMOVDQU64Z128rr, X86::VMOVDQUrr },
390  { X86::VMOVDQU64Z128rr_REV, X86::VMOVDQUrr_REV },
391  { X86::VMOVDQU8Z128mr, X86::VMOVDQUmr },
392  { X86::VMOVDQU8Z128rm, X86::VMOVDQUrm },
393  { X86::VMOVDQU8Z128rr, X86::VMOVDQUrr },
394  { X86::VMOVDQU8Z128rr_REV, X86::VMOVDQUrr_REV },
395  { X86::VMOVHLPSZrr, X86::VMOVHLPSrr },
396  { X86::VMOVHPDZ128mr, X86::VMOVHPDmr },
397  { X86::VMOVHPDZ128rm, X86::VMOVHPDrm },
398  { X86::VMOVHPSZ128mr, X86::VMOVHPSmr },
399  { X86::VMOVHPSZ128rm, X86::VMOVHPSrm },
400  { X86::VMOVLHPSZrr, X86::VMOVLHPSrr },
401  { X86::VMOVLPDZ128mr, X86::VMOVLPDmr },
402  { X86::VMOVLPDZ128rm, X86::VMOVLPDrm },
403  { X86::VMOVLPSZ128mr, X86::VMOVLPSmr },
404  { X86::VMOVLPSZ128rm, X86::VMOVLPSrm },
405  { X86::VMOVNTDQAZ128rm, X86::VMOVNTDQArm },
406  { X86::VMOVNTDQZ128mr, X86::VMOVNTDQmr },
407  { X86::VMOVNTPDZ128mr, X86::VMOVNTPDmr },
408  { X86::VMOVNTPSZ128mr, X86::VMOVNTPSmr },
409  { X86::VMOVPDI2DIZmr, X86::VMOVPDI2DImr },
410  { X86::VMOVPDI2DIZrr, X86::VMOVPDI2DIrr },
411  { X86::VMOVPQI2QIZmr, X86::VMOVPQI2QImr },
412  { X86::VMOVPQI2QIZrr, X86::VMOVPQI2QIrr },
413  { X86::VMOVPQIto64Zmr, X86::VMOVPQIto64mr },
414  { X86::VMOVPQIto64Zrr, X86::VMOVPQIto64rr },
415  { X86::VMOVQI2PQIZrm, X86::VMOVQI2PQIrm },
416  { X86::VMOVSDZmr, X86::VMOVSDmr },
417  { X86::VMOVSDZrm, X86::VMOVSDrm },
418  { X86::VMOVSDZrm_alt, X86::VMOVSDrm_alt },
419  { X86::VMOVSDZrr, X86::VMOVSDrr },
420  { X86::VMOVSDZrr_REV, X86::VMOVSDrr_REV },
421  { X86::VMOVSDto64Zrr, X86::VMOVSDto64rr },
422  { X86::VMOVSHDUPZ128rm, X86::VMOVSHDUPrm },
423  { X86::VMOVSHDUPZ128rr, X86::VMOVSHDUPrr },
424  { X86::VMOVSLDUPZ128rm, X86::VMOVSLDUPrm },
425  { X86::VMOVSLDUPZ128rr, X86::VMOVSLDUPrr },
426  { X86::VMOVSS2DIZrr, X86::VMOVSS2DIrr },
427  { X86::VMOVSSZmr, X86::VMOVSSmr },
428  { X86::VMOVSSZrm, X86::VMOVSSrm },
429  { X86::VMOVSSZrm_alt, X86::VMOVSSrm_alt },
430  { X86::VMOVSSZrr, X86::VMOVSSrr },
431  { X86::VMOVSSZrr_REV, X86::VMOVSSrr_REV },
432  { X86::VMOVUPDZ128mr, X86::VMOVUPDmr },
433  { X86::VMOVUPDZ128rm, X86::VMOVUPDrm },
434  { X86::VMOVUPDZ128rr, X86::VMOVUPDrr },
435  { X86::VMOVUPDZ128rr_REV, X86::VMOVUPDrr_REV },
436  { X86::VMOVUPSZ128mr, X86::VMOVUPSmr },
437  { X86::VMOVUPSZ128rm, X86::VMOVUPSrm },
438  { X86::VMOVUPSZ128rr, X86::VMOVUPSrr },
439  { X86::VMOVUPSZ128rr_REV, X86::VMOVUPSrr_REV },
440  { X86::VMOVZPQILo2PQIZrr, X86::VMOVZPQILo2PQIrr },
441  { X86::VMULPDZ128rm, X86::VMULPDrm },
442  { X86::VMULPDZ128rr, X86::VMULPDrr },
443  { X86::VMULPSZ128rm, X86::VMULPSrm },
444  { X86::VMULPSZ128rr, X86::VMULPSrr },
445  { X86::VMULSDZrm, X86::VMULSDrm },
446  { X86::VMULSDZrm_Int, X86::VMULSDrm_Int },
447  { X86::VMULSDZrr, X86::VMULSDrr },
448  { X86::VMULSDZrr_Int, X86::VMULSDrr_Int },
449  { X86::VMULSSZrm, X86::VMULSSrm },
450  { X86::VMULSSZrm_Int, X86::VMULSSrm_Int },
451  { X86::VMULSSZrr, X86::VMULSSrr },
452  { X86::VMULSSZrr_Int, X86::VMULSSrr_Int },
453  { X86::VORPDZ128rm, X86::VORPDrm },
454  { X86::VORPDZ128rr, X86::VORPDrr },
455  { X86::VORPSZ128rm, X86::VORPSrm },
456  { X86::VORPSZ128rr, X86::VORPSrr },
457  { X86::VPABSBZ128rm, X86::VPABSBrm },
458  { X86::VPABSBZ128rr, X86::VPABSBrr },
459  { X86::VPABSDZ128rm, X86::VPABSDrm },
460  { X86::VPABSDZ128rr, X86::VPABSDrr },
461  { X86::VPABSWZ128rm, X86::VPABSWrm },
462  { X86::VPABSWZ128rr, X86::VPABSWrr },
463  { X86::VPACKSSDWZ128rm, X86::VPACKSSDWrm },
464  { X86::VPACKSSDWZ128rr, X86::VPACKSSDWrr },
465  { X86::VPACKSSWBZ128rm, X86::VPACKSSWBrm },
466  { X86::VPACKSSWBZ128rr, X86::VPACKSSWBrr },
467  { X86::VPACKUSDWZ128rm, X86::VPACKUSDWrm },
468  { X86::VPACKUSDWZ128rr, X86::VPACKUSDWrr },
469  { X86::VPACKUSWBZ128rm, X86::VPACKUSWBrm },
470  { X86::VPACKUSWBZ128rr, X86::VPACKUSWBrr },
471  { X86::VPADDBZ128rm, X86::VPADDBrm },
472  { X86::VPADDBZ128rr, X86::VPADDBrr },
473  { X86::VPADDDZ128rm, X86::VPADDDrm },
474  { X86::VPADDDZ128rr, X86::VPADDDrr },
475  { X86::VPADDQZ128rm, X86::VPADDQrm },
476  { X86::VPADDQZ128rr, X86::VPADDQrr },
477  { X86::VPADDSBZ128rm, X86::VPADDSBrm },
478  { X86::VPADDSBZ128rr, X86::VPADDSBrr },
479  { X86::VPADDSWZ128rm, X86::VPADDSWrm },
480  { X86::VPADDSWZ128rr, X86::VPADDSWrr },
481  { X86::VPADDUSBZ128rm, X86::VPADDUSBrm },
482  { X86::VPADDUSBZ128rr, X86::VPADDUSBrr },
483  { X86::VPADDUSWZ128rm, X86::VPADDUSWrm },
484  { X86::VPADDUSWZ128rr, X86::VPADDUSWrr },
485  { X86::VPADDWZ128rm, X86::VPADDWrm },
486  { X86::VPADDWZ128rr, X86::VPADDWrr },
487  { X86::VPALIGNRZ128rmi, X86::VPALIGNRrmi },
488  { X86::VPALIGNRZ128rri, X86::VPALIGNRrri },
489  { X86::VPANDDZ128rm, X86::VPANDrm },
490  { X86::VPANDDZ128rr, X86::VPANDrr },
491  { X86::VPANDNDZ128rm, X86::VPANDNrm },
492  { X86::VPANDNDZ128rr, X86::VPANDNrr },
493  { X86::VPANDNQZ128rm, X86::VPANDNrm },
494  { X86::VPANDNQZ128rr, X86::VPANDNrr },
495  { X86::VPANDQZ128rm, X86::VPANDrm },
496  { X86::VPANDQZ128rr, X86::VPANDrr },
497  { X86::VPAVGBZ128rm, X86::VPAVGBrm },
498  { X86::VPAVGBZ128rr, X86::VPAVGBrr },
499  { X86::VPAVGWZ128rm, X86::VPAVGWrm },
500  { X86::VPAVGWZ128rr, X86::VPAVGWrr },
501  { X86::VPBROADCASTBZ128m, X86::VPBROADCASTBrm },
502  { X86::VPBROADCASTBZ128r, X86::VPBROADCASTBrr },
503  { X86::VPBROADCASTDZ128m, X86::VPBROADCASTDrm },
504  { X86::VPBROADCASTDZ128r, X86::VPBROADCASTDrr },
505  { X86::VPBROADCASTQZ128m, X86::VPBROADCASTQrm },
506  { X86::VPBROADCASTQZ128r, X86::VPBROADCASTQrr },
507  { X86::VPBROADCASTWZ128m, X86::VPBROADCASTWrm },
508  { X86::VPBROADCASTWZ128r, X86::VPBROADCASTWrr },
509  { X86::VPCLMULQDQZ128rm, X86::VPCLMULQDQrm },
510  { X86::VPCLMULQDQZ128rr, X86::VPCLMULQDQrr },
511  { X86::VPERMILPDZ128mi, X86::VPERMILPDmi },
512  { X86::VPERMILPDZ128ri, X86::VPERMILPDri },
513  { X86::VPERMILPDZ128rm, X86::VPERMILPDrm },
514  { X86::VPERMILPDZ128rr, X86::VPERMILPDrr },
515  { X86::VPERMILPSZ128mi, X86::VPERMILPSmi },
516  { X86::VPERMILPSZ128ri, X86::VPERMILPSri },
517  { X86::VPERMILPSZ128rm, X86::VPERMILPSrm },
518  { X86::VPERMILPSZ128rr, X86::VPERMILPSrr },
519  { X86::VPEXTRBZmr, X86::VPEXTRBmr },
520  { X86::VPEXTRBZrr, X86::VPEXTRBrr },
521  { X86::VPEXTRDZmr, X86::VPEXTRDmr },
522  { X86::VPEXTRDZrr, X86::VPEXTRDrr },
523  { X86::VPEXTRQZmr, X86::VPEXTRQmr },
524  { X86::VPEXTRQZrr, X86::VPEXTRQrr },
525  { X86::VPEXTRWZmr, X86::VPEXTRWmr },
526  { X86::VPEXTRWZrr, X86::VPEXTRWrr },
527  { X86::VPEXTRWZrr_REV, X86::VPEXTRWrr_REV },
528  { X86::VPINSRBZrm, X86::VPINSRBrm },
529  { X86::VPINSRBZrr, X86::VPINSRBrr },
530  { X86::VPINSRDZrm, X86::VPINSRDrm },
531  { X86::VPINSRDZrr, X86::VPINSRDrr },
532  { X86::VPINSRQZrm, X86::VPINSRQrm },
533  { X86::VPINSRQZrr, X86::VPINSRQrr },
534  { X86::VPINSRWZrm, X86::VPINSRWrm },
535  { X86::VPINSRWZrr, X86::VPINSRWrr },
536  { X86::VPMADDUBSWZ128rm, X86::VPMADDUBSWrm },
537  { X86::VPMADDUBSWZ128rr, X86::VPMADDUBSWrr },
538  { X86::VPMADDWDZ128rm, X86::VPMADDWDrm },
539  { X86::VPMADDWDZ128rr, X86::VPMADDWDrr },
540  { X86::VPMAXSBZ128rm, X86::VPMAXSBrm },
541  { X86::VPMAXSBZ128rr, X86::VPMAXSBrr },
542  { X86::VPMAXSDZ128rm, X86::VPMAXSDrm },
543  { X86::VPMAXSDZ128rr, X86::VPMAXSDrr },
544  { X86::VPMAXSWZ128rm, X86::VPMAXSWrm },
545  { X86::VPMAXSWZ128rr, X86::VPMAXSWrr },
546  { X86::VPMAXUBZ128rm, X86::VPMAXUBrm },
547  { X86::VPMAXUBZ128rr, X86::VPMAXUBrr },
548  { X86::VPMAXUDZ128rm, X86::VPMAXUDrm },
549  { X86::VPMAXUDZ128rr, X86::VPMAXUDrr },
550  { X86::VPMAXUWZ128rm, X86::VPMAXUWrm },
551  { X86::VPMAXUWZ128rr, X86::VPMAXUWrr },
552  { X86::VPMINSBZ128rm, X86::VPMINSBrm },
553  { X86::VPMINSBZ128rr, X86::VPMINSBrr },
554  { X86::VPMINSDZ128rm, X86::VPMINSDrm },
555  { X86::VPMINSDZ128rr, X86::VPMINSDrr },
556  { X86::VPMINSWZ128rm, X86::VPMINSWrm },
557  { X86::VPMINSWZ128rr, X86::VPMINSWrr },
558  { X86::VPMINUBZ128rm, X86::VPMINUBrm },
559  { X86::VPMINUBZ128rr, X86::VPMINUBrr },
560  { X86::VPMINUDZ128rm, X86::VPMINUDrm },
561  { X86::VPMINUDZ128rr, X86::VPMINUDrr },
562  { X86::VPMINUWZ128rm, X86::VPMINUWrm },
563  { X86::VPMINUWZ128rr, X86::VPMINUWrr },
564  { X86::VPMOVSXBDZ128rm, X86::VPMOVSXBDrm },
565  { X86::VPMOVSXBDZ128rr, X86::VPMOVSXBDrr },
566  { X86::VPMOVSXBQZ128rm, X86::VPMOVSXBQrm },
567  { X86::VPMOVSXBQZ128rr, X86::VPMOVSXBQrr },
568  { X86::VPMOVSXBWZ128rm, X86::VPMOVSXBWrm },
569  { X86::VPMOVSXBWZ128rr, X86::VPMOVSXBWrr },
570  { X86::VPMOVSXDQZ128rm, X86::VPMOVSXDQrm },
571  { X86::VPMOVSXDQZ128rr, X86::VPMOVSXDQrr },
572  { X86::VPMOVSXWDZ128rm, X86::VPMOVSXWDrm },
573  { X86::VPMOVSXWDZ128rr, X86::VPMOVSXWDrr },
574  { X86::VPMOVSXWQZ128rm, X86::VPMOVSXWQrm },
575  { X86::VPMOVSXWQZ128rr, X86::VPMOVSXWQrr },
576  { X86::VPMOVZXBDZ128rm, X86::VPMOVZXBDrm },
577  { X86::VPMOVZXBDZ128rr, X86::VPMOVZXBDrr },
578  { X86::VPMOVZXBQZ128rm, X86::VPMOVZXBQrm },
579  { X86::VPMOVZXBQZ128rr, X86::VPMOVZXBQrr },
580  { X86::VPMOVZXBWZ128rm, X86::VPMOVZXBWrm },
581  { X86::VPMOVZXBWZ128rr, X86::VPMOVZXBWrr },
582  { X86::VPMOVZXDQZ128rm, X86::VPMOVZXDQrm },
583  { X86::VPMOVZXDQZ128rr, X86::VPMOVZXDQrr },
584  { X86::VPMOVZXWDZ128rm, X86::VPMOVZXWDrm },
585  { X86::VPMOVZXWDZ128rr, X86::VPMOVZXWDrr },
586  { X86::VPMOVZXWQZ128rm, X86::VPMOVZXWQrm },
587  { X86::VPMOVZXWQZ128rr, X86::VPMOVZXWQrr },
588  { X86::VPMULDQZ128rm, X86::VPMULDQrm },
589  { X86::VPMULDQZ128rr, X86::VPMULDQrr },
590  { X86::VPMULHRSWZ128rm, X86::VPMULHRSWrm },
591  { X86::VPMULHRSWZ128rr, X86::VPMULHRSWrr },
592  { X86::VPMULHUWZ128rm, X86::VPMULHUWrm },
593  { X86::VPMULHUWZ128rr, X86::VPMULHUWrr },
594  { X86::VPMULHWZ128rm, X86::VPMULHWrm },
595  { X86::VPMULHWZ128rr, X86::VPMULHWrr },
596  { X86::VPMULLDZ128rm, X86::VPMULLDrm },
597  { X86::VPMULLDZ128rr, X86::VPMULLDrr },
598  { X86::VPMULLWZ128rm, X86::VPMULLWrm },
599  { X86::VPMULLWZ128rr, X86::VPMULLWrr },
600  { X86::VPMULUDQZ128rm, X86::VPMULUDQrm },
601  { X86::VPMULUDQZ128rr, X86::VPMULUDQrr },
602  { X86::VPORDZ128rm, X86::VPORrm },
603  { X86::VPORDZ128rr, X86::VPORrr },
604  { X86::VPORQZ128rm, X86::VPORrm },
605  { X86::VPORQZ128rr, X86::VPORrr },
606  { X86::VPSADBWZ128rm, X86::VPSADBWrm },
607  { X86::VPSADBWZ128rr, X86::VPSADBWrr },
608  { X86::VPSHUFBZ128rm, X86::VPSHUFBrm },
609  { X86::VPSHUFBZ128rr, X86::VPSHUFBrr },
610  { X86::VPSHUFDZ128mi, X86::VPSHUFDmi },
611  { X86::VPSHUFDZ128ri, X86::VPSHUFDri },
612  { X86::VPSHUFHWZ128mi, X86::VPSHUFHWmi },
613  { X86::VPSHUFHWZ128ri, X86::VPSHUFHWri },
614  { X86::VPSHUFLWZ128mi, X86::VPSHUFLWmi },
615  { X86::VPSHUFLWZ128ri, X86::VPSHUFLWri },
616  { X86::VPSLLDQZ128rr, X86::VPSLLDQri },
617  { X86::VPSLLDZ128ri, X86::VPSLLDri },
618  { X86::VPSLLDZ128rm, X86::VPSLLDrm },
619  { X86::VPSLLDZ128rr, X86::VPSLLDrr },
620  { X86::VPSLLQZ128ri, X86::VPSLLQri },
621  { X86::VPSLLQZ128rm, X86::VPSLLQrm },
622  { X86::VPSLLQZ128rr, X86::VPSLLQrr },
623  { X86::VPSLLVDZ128rm, X86::VPSLLVDrm },
624  { X86::VPSLLVDZ128rr, X86::VPSLLVDrr },
625  { X86::VPSLLVQZ128rm, X86::VPSLLVQrm },
626  { X86::VPSLLVQZ128rr, X86::VPSLLVQrr },
627  { X86::VPSLLWZ128ri, X86::VPSLLWri },
628  { X86::VPSLLWZ128rm, X86::VPSLLWrm },
629  { X86::VPSLLWZ128rr, X86::VPSLLWrr },
630  { X86::VPSRADZ128ri, X86::VPSRADri },
631  { X86::VPSRADZ128rm, X86::VPSRADrm },
632  { X86::VPSRADZ128rr, X86::VPSRADrr },
633  { X86::VPSRAVDZ128rm, X86::VPSRAVDrm },
634  { X86::VPSRAVDZ128rr, X86::VPSRAVDrr },
635  { X86::VPSRAWZ128ri, X86::VPSRAWri },
636  { X86::VPSRAWZ128rm, X86::VPSRAWrm },
637  { X86::VPSRAWZ128rr, X86::VPSRAWrr },
638  { X86::VPSRLDQZ128rr, X86::VPSRLDQri },
639  { X86::VPSRLDZ128ri, X86::VPSRLDri },
640  { X86::VPSRLDZ128rm, X86::VPSRLDrm },
641  { X86::VPSRLDZ128rr, X86::VPSRLDrr },
642  { X86::VPSRLQZ128ri, X86::VPSRLQri },
643  { X86::VPSRLQZ128rm, X86::VPSRLQrm },
644  { X86::VPSRLQZ128rr, X86::VPSRLQrr },
645  { X86::VPSRLVDZ128rm, X86::VPSRLVDrm },
646  { X86::VPSRLVDZ128rr, X86::VPSRLVDrr },
647  { X86::VPSRLVQZ128rm, X86::VPSRLVQrm },
648  { X86::VPSRLVQZ128rr, X86::VPSRLVQrr },
649  { X86::VPSRLWZ128ri, X86::VPSRLWri },
650  { X86::VPSRLWZ128rm, X86::VPSRLWrm },
651  { X86::VPSRLWZ128rr, X86::VPSRLWrr },
652  { X86::VPSUBBZ128rm, X86::VPSUBBrm },
653  { X86::VPSUBBZ128rr, X86::VPSUBBrr },
654  { X86::VPSUBDZ128rm, X86::VPSUBDrm },
655  { X86::VPSUBDZ128rr, X86::VPSUBDrr },
656  { X86::VPSUBQZ128rm, X86::VPSUBQrm },
657  { X86::VPSUBQZ128rr, X86::VPSUBQrr },
658  { X86::VPSUBSBZ128rm, X86::VPSUBSBrm },
659  { X86::VPSUBSBZ128rr, X86::VPSUBSBrr },
660  { X86::VPSUBSWZ128rm, X86::VPSUBSWrm },
661  { X86::VPSUBSWZ128rr, X86::VPSUBSWrr },
662  { X86::VPSUBUSBZ128rm, X86::VPSUBUSBrm },
663  { X86::VPSUBUSBZ128rr, X86::VPSUBUSBrr },
664  { X86::VPSUBUSWZ128rm, X86::VPSUBUSWrm },
665  { X86::VPSUBUSWZ128rr, X86::VPSUBUSWrr },
666  { X86::VPSUBWZ128rm, X86::VPSUBWrm },
667  { X86::VPSUBWZ128rr, X86::VPSUBWrr },
668  { X86::VPUNPCKHBWZ128rm, X86::VPUNPCKHBWrm },
669  { X86::VPUNPCKHBWZ128rr, X86::VPUNPCKHBWrr },
670  { X86::VPUNPCKHDQZ128rm, X86::VPUNPCKHDQrm },
671  { X86::VPUNPCKHDQZ128rr, X86::VPUNPCKHDQrr },
672  { X86::VPUNPCKHQDQZ128rm, X86::VPUNPCKHQDQrm },
673  { X86::VPUNPCKHQDQZ128rr, X86::VPUNPCKHQDQrr },
674  { X86::VPUNPCKHWDZ128rm, X86::VPUNPCKHWDrm },
675  { X86::VPUNPCKHWDZ128rr, X86::VPUNPCKHWDrr },
676  { X86::VPUNPCKLBWZ128rm, X86::VPUNPCKLBWrm },
677  { X86::VPUNPCKLBWZ128rr, X86::VPUNPCKLBWrr },
678  { X86::VPUNPCKLDQZ128rm, X86::VPUNPCKLDQrm },
679  { X86::VPUNPCKLDQZ128rr, X86::VPUNPCKLDQrr },
680  { X86::VPUNPCKLQDQZ128rm, X86::VPUNPCKLQDQrm },
681  { X86::VPUNPCKLQDQZ128rr, X86::VPUNPCKLQDQrr },
682  { X86::VPUNPCKLWDZ128rm, X86::VPUNPCKLWDrm },
683  { X86::VPUNPCKLWDZ128rr, X86::VPUNPCKLWDrr },
684  { X86::VPXORDZ128rm, X86::VPXORrm },
685  { X86::VPXORDZ128rr, X86::VPXORrr },
686  { X86::VPXORQZ128rm, X86::VPXORrm },
687  { X86::VPXORQZ128rr, X86::VPXORrr },
688  { X86::VRNDSCALEPDZ128rmi, X86::VROUNDPDm },
689  { X86::VRNDSCALEPDZ128rri, X86::VROUNDPDr },
690  { X86::VRNDSCALEPSZ128rmi, X86::VROUNDPSm },
691  { X86::VRNDSCALEPSZ128rri, X86::VROUNDPSr },
692  { X86::VRNDSCALESDZm, X86::VROUNDSDm },
693  { X86::VRNDSCALESDZm_Int, X86::VROUNDSDm_Int },
694  { X86::VRNDSCALESDZr, X86::VROUNDSDr },
695  { X86::VRNDSCALESDZr_Int, X86::VROUNDSDr_Int },
696  { X86::VRNDSCALESSZm, X86::VROUNDSSm },
697  { X86::VRNDSCALESSZm_Int, X86::VROUNDSSm_Int },
698  { X86::VRNDSCALESSZr, X86::VROUNDSSr },
699  { X86::VRNDSCALESSZr_Int, X86::VROUNDSSr_Int },
700  { X86::VSHUFPDZ128rmi, X86::VSHUFPDrmi },
701  { X86::VSHUFPDZ128rri, X86::VSHUFPDrri },
702  { X86::VSHUFPSZ128rmi, X86::VSHUFPSrmi },
703  { X86::VSHUFPSZ128rri, X86::VSHUFPSrri },
704  { X86::VSQRTPDZ128m, X86::VSQRTPDm },
705  { X86::VSQRTPDZ128r, X86::VSQRTPDr },
706  { X86::VSQRTPSZ128m, X86::VSQRTPSm },
707  { X86::VSQRTPSZ128r, X86::VSQRTPSr },
708  { X86::VSQRTSDZm, X86::VSQRTSDm },
709  { X86::VSQRTSDZm_Int, X86::VSQRTSDm_Int },
710  { X86::VSQRTSDZr, X86::VSQRTSDr },
711  { X86::VSQRTSDZr_Int, X86::VSQRTSDr_Int },
712  { X86::VSQRTSSZm, X86::VSQRTSSm },
713  { X86::VSQRTSSZm_Int, X86::VSQRTSSm_Int },
714  { X86::VSQRTSSZr, X86::VSQRTSSr },
715  { X86::VSQRTSSZr_Int, X86::VSQRTSSr_Int },
716  { X86::VSUBPDZ128rm, X86::VSUBPDrm },
717  { X86::VSUBPDZ128rr, X86::VSUBPDrr },
718  { X86::VSUBPSZ128rm, X86::VSUBPSrm },
719  { X86::VSUBPSZ128rr, X86::VSUBPSrr },
720  { X86::VSUBSDZrm, X86::VSUBSDrm },
721  { X86::VSUBSDZrm_Int, X86::VSUBSDrm_Int },
722  { X86::VSUBSDZrr, X86::VSUBSDrr },
723  { X86::VSUBSDZrr_Int, X86::VSUBSDrr_Int },
724  { X86::VSUBSSZrm, X86::VSUBSSrm },
725  { X86::VSUBSSZrm_Int, X86::VSUBSSrm_Int },
726  { X86::VSUBSSZrr, X86::VSUBSSrr },
727  { X86::VSUBSSZrr_Int, X86::VSUBSSrr_Int },
728  { X86::VUCOMISDZrm, X86::VUCOMISDrm },
729  { X86::VUCOMISDZrm_Int, X86::VUCOMISDrm_Int },
730  { X86::VUCOMISDZrr, X86::VUCOMISDrr },
731  { X86::VUCOMISDZrr_Int, X86::VUCOMISDrr_Int },
732  { X86::VUCOMISSZrm, X86::VUCOMISSrm },
733  { X86::VUCOMISSZrm_Int, X86::VUCOMISSrm_Int },
734  { X86::VUCOMISSZrr, X86::VUCOMISSrr },
735  { X86::VUCOMISSZrr_Int, X86::VUCOMISSrr_Int },
736  { X86::VUNPCKHPDZ128rm, X86::VUNPCKHPDrm },
737  { X86::VUNPCKHPDZ128rr, X86::VUNPCKHPDrr },
738  { X86::VUNPCKHPSZ128rm, X86::VUNPCKHPSrm },
739  { X86::VUNPCKHPSZ128rr, X86::VUNPCKHPSrr },
740  { X86::VUNPCKLPDZ128rm, X86::VUNPCKLPDrm },
741  { X86::VUNPCKLPDZ128rr, X86::VUNPCKLPDrr },
742  { X86::VUNPCKLPSZ128rm, X86::VUNPCKLPSrm },
743  { X86::VUNPCKLPSZ128rr, X86::VUNPCKLPSrr },
744  { X86::VXORPDZ128rm, X86::VXORPDrm },
745  { X86::VXORPDZ128rr, X86::VXORPDrr },
746  { X86::VXORPSZ128rm, X86::VXORPSrm },
747  { X86::VXORPSZ128rr, X86::VXORPSrr },
748};
749
750// X86 EVEX encoded instructions that have a VEX 256 encoding
751// (table format: <EVEX opcode, VEX-256 opcode>).
752static const X86EvexToVexCompressTableEntry X86EvexToVex256CompressTable[] = {
753  // EVEX scalar with corresponding VEX.
754  { X86::VADDPDZ256rm, X86::VADDPDYrm },
755  { X86::VADDPDZ256rr, X86::VADDPDYrr },
756  { X86::VADDPSZ256rm, X86::VADDPSYrm },
757  { X86::VADDPSZ256rr, X86::VADDPSYrr },
758  { X86::VAESDECLASTZ256rm, X86::VAESDECLASTYrm },
759  { X86::VAESDECLASTZ256rr, X86::VAESDECLASTYrr },
760  { X86::VAESDECZ256rm, X86::VAESDECYrm },
761  { X86::VAESDECZ256rr, X86::VAESDECYrr },
762  { X86::VAESENCLASTZ256rm, X86::VAESENCLASTYrm },
763  { X86::VAESENCLASTZ256rr, X86::VAESENCLASTYrr },
764  { X86::VAESENCZ256rm, X86::VAESENCYrm },
765  { X86::VAESENCZ256rr, X86::VAESENCYrr },
766  { X86::VANDNPDZ256rm, X86::VANDNPDYrm },
767  { X86::VANDNPDZ256rr, X86::VANDNPDYrr },
768  { X86::VANDNPSZ256rm, X86::VANDNPSYrm },
769  { X86::VANDNPSZ256rr, X86::VANDNPSYrr },
770  { X86::VANDPDZ256rm, X86::VANDPDYrm },
771  { X86::VANDPDZ256rr, X86::VANDPDYrr },
772  { X86::VANDPSZ256rm, X86::VANDPSYrm },
773  { X86::VANDPSZ256rr, X86::VANDPSYrr },
774  { X86::VBROADCASTF32X2Z256m, X86::VBROADCASTSDYrm },
775  { X86::VBROADCASTF32X2Z256r, X86::VBROADCASTSDYrr },
776  { X86::VBROADCASTF32X4Z256rm, X86::VBROADCASTF128 },
777  { X86::VBROADCASTF64X2Z128rm, X86::VBROADCASTF128 },
778  { X86::VBROADCASTI32X2Z256m, X86::VPBROADCASTQYrm },
779  { X86::VBROADCASTI32X2Z256r, X86::VPBROADCASTQYrr },
780  { X86::VBROADCASTI32X4Z256rm, X86::VBROADCASTI128 },
781  { X86::VBROADCASTI64X2Z128rm, X86::VBROADCASTI128 },
782  { X86::VBROADCASTSDZ256m, X86::VBROADCASTSDYrm },
783  { X86::VBROADCASTSDZ256r, X86::VBROADCASTSDYrr },
784  { X86::VBROADCASTSSZ256m, X86::VBROADCASTSSYrm },
785  { X86::VBROADCASTSSZ256r, X86::VBROADCASTSSYrr },
786  { X86::VCVTDQ2PDZ256rm, X86::VCVTDQ2PDYrm },
787  { X86::VCVTDQ2PDZ256rr, X86::VCVTDQ2PDYrr },
788  { X86::VCVTDQ2PSZ256rm, X86::VCVTDQ2PSYrm },
789  { X86::VCVTDQ2PSZ256rr, X86::VCVTDQ2PSYrr },
790  { X86::VCVTPD2DQZ256rm, X86::VCVTPD2DQYrm },
791  { X86::VCVTPD2DQZ256rr, X86::VCVTPD2DQYrr },
792  { X86::VCVTPD2PSZ256rm, X86::VCVTPD2PSYrm },
793  { X86::VCVTPD2PSZ256rr, X86::VCVTPD2PSYrr },
794  { X86::VCVTPH2PSZ256rm, X86::VCVTPH2PSYrm },
795  { X86::VCVTPH2PSZ256rr, X86::VCVTPH2PSYrr },
796  { X86::VCVTPS2DQZ256rm, X86::VCVTPS2DQYrm },
797  { X86::VCVTPS2DQZ256rr, X86::VCVTPS2DQYrr },
798  { X86::VCVTPS2PDZ256rm, X86::VCVTPS2PDYrm },
799  { X86::VCVTPS2PDZ256rr, X86::VCVTPS2PDYrr },
800  { X86::VCVTPS2PHZ256mr, X86::VCVTPS2PHYmr },
801  { X86::VCVTPS2PHZ256rr, X86::VCVTPS2PHYrr },
802  { X86::VCVTTPD2DQZ256rm, X86::VCVTTPD2DQYrm },
803  { X86::VCVTTPD2DQZ256rr, X86::VCVTTPD2DQYrr },
804  { X86::VCVTTPS2DQZ256rm, X86::VCVTTPS2DQYrm },
805  { X86::VCVTTPS2DQZ256rr, X86::VCVTTPS2DQYrr },
806  { X86::VDIVPDZ256rm, X86::VDIVPDYrm },
807  { X86::VDIVPDZ256rr, X86::VDIVPDYrr },
808  { X86::VDIVPSZ256rm, X86::VDIVPSYrm },
809  { X86::VDIVPSZ256rr, X86::VDIVPSYrr },
810  { X86::VEXTRACTF32x4Z256mr, X86::VEXTRACTF128mr },
811  { X86::VEXTRACTF32x4Z256rr, X86::VEXTRACTF128rr },
812  { X86::VEXTRACTF64x2Z256mr, X86::VEXTRACTF128mr },
813  { X86::VEXTRACTF64x2Z256rr, X86::VEXTRACTF128rr },
814  { X86::VEXTRACTI32x4Z256mr, X86::VEXTRACTI128mr },
815  { X86::VEXTRACTI32x4Z256rr, X86::VEXTRACTI128rr },
816  { X86::VEXTRACTI64x2Z256mr, X86::VEXTRACTI128mr },
817  { X86::VEXTRACTI64x2Z256rr, X86::VEXTRACTI128rr },
818  { X86::VFMADD132PDZ256m, X86::VFMADD132PDYm },
819  { X86::VFMADD132PDZ256r, X86::VFMADD132PDYr },
820  { X86::VFMADD132PSZ256m, X86::VFMADD132PSYm },
821  { X86::VFMADD132PSZ256r, X86::VFMADD132PSYr },
822  { X86::VFMADD213PDZ256m, X86::VFMADD213PDYm },
823  { X86::VFMADD213PDZ256r, X86::VFMADD213PDYr },
824  { X86::VFMADD213PSZ256m, X86::VFMADD213PSYm },
825  { X86::VFMADD213PSZ256r, X86::VFMADD213PSYr },
826  { X86::VFMADD231PDZ256m, X86::VFMADD231PDYm },
827  { X86::VFMADD231PDZ256r, X86::VFMADD231PDYr },
828  { X86::VFMADD231PSZ256m, X86::VFMADD231PSYm },
829  { X86::VFMADD231PSZ256r, X86::VFMADD231PSYr },
830  { X86::VFMADDSUB132PDZ256m, X86::VFMADDSUB132PDYm },
831  { X86::VFMADDSUB132PDZ256r, X86::VFMADDSUB132PDYr },
832  { X86::VFMADDSUB132PSZ256m, X86::VFMADDSUB132PSYm },
833  { X86::VFMADDSUB132PSZ256r, X86::VFMADDSUB132PSYr },
834  { X86::VFMADDSUB213PDZ256m, X86::VFMADDSUB213PDYm },
835  { X86::VFMADDSUB213PDZ256r, X86::VFMADDSUB213PDYr },
836  { X86::VFMADDSUB213PSZ256m, X86::VFMADDSUB213PSYm },
837  { X86::VFMADDSUB213PSZ256r, X86::VFMADDSUB213PSYr },
838  { X86::VFMADDSUB231PDZ256m, X86::VFMADDSUB231PDYm },
839  { X86::VFMADDSUB231PDZ256r, X86::VFMADDSUB231PDYr },
840  { X86::VFMADDSUB231PSZ256m, X86::VFMADDSUB231PSYm },
841  { X86::VFMADDSUB231PSZ256r, X86::VFMADDSUB231PSYr },
842  { X86::VFMSUB132PDZ256m, X86::VFMSUB132PDYm },
843  { X86::VFMSUB132PDZ256r, X86::VFMSUB132PDYr },
844  { X86::VFMSUB132PSZ256m, X86::VFMSUB132PSYm },
845  { X86::VFMSUB132PSZ256r, X86::VFMSUB132PSYr },
846  { X86::VFMSUB213PDZ256m, X86::VFMSUB213PDYm },
847  { X86::VFMSUB213PDZ256r, X86::VFMSUB213PDYr },
848  { X86::VFMSUB213PSZ256m, X86::VFMSUB213PSYm },
849  { X86::VFMSUB213PSZ256r, X86::VFMSUB213PSYr },
850  { X86::VFMSUB231PDZ256m, X86::VFMSUB231PDYm },
851  { X86::VFMSUB231PDZ256r, X86::VFMSUB231PDYr },
852  { X86::VFMSUB231PSZ256m, X86::VFMSUB231PSYm },
853  { X86::VFMSUB231PSZ256r, X86::VFMSUB231PSYr },
854  { X86::VFMSUBADD132PDZ256m, X86::VFMSUBADD132PDYm },
855  { X86::VFMSUBADD132PDZ256r, X86::VFMSUBADD132PDYr },
856  { X86::VFMSUBADD132PSZ256m, X86::VFMSUBADD132PSYm },
857  { X86::VFMSUBADD132PSZ256r, X86::VFMSUBADD132PSYr },
858  { X86::VFMSUBADD213PDZ256m, X86::VFMSUBADD213PDYm },
859  { X86::VFMSUBADD213PDZ256r, X86::VFMSUBADD213PDYr },
860  { X86::VFMSUBADD213PSZ256m, X86::VFMSUBADD213PSYm },
861  { X86::VFMSUBADD213PSZ256r, X86::VFMSUBADD213PSYr },
862  { X86::VFMSUBADD231PDZ256m, X86::VFMSUBADD231PDYm },
863  { X86::VFMSUBADD231PDZ256r, X86::VFMSUBADD231PDYr },
864  { X86::VFMSUBADD231PSZ256m, X86::VFMSUBADD231PSYm },
865  { X86::VFMSUBADD231PSZ256r, X86::VFMSUBADD231PSYr },
866  { X86::VFNMADD132PDZ256m, X86::VFNMADD132PDYm },
867  { X86::VFNMADD132PDZ256r, X86::VFNMADD132PDYr },
868  { X86::VFNMADD132PSZ256m, X86::VFNMADD132PSYm },
869  { X86::VFNMADD132PSZ256r, X86::VFNMADD132PSYr },
870  { X86::VFNMADD213PDZ256m, X86::VFNMADD213PDYm },
871  { X86::VFNMADD213PDZ256r, X86::VFNMADD213PDYr },
872  { X86::VFNMADD213PSZ256m, X86::VFNMADD213PSYm },
873  { X86::VFNMADD213PSZ256r, X86::VFNMADD213PSYr },
874  { X86::VFNMADD231PDZ256m, X86::VFNMADD231PDYm },
875  { X86::VFNMADD231PDZ256r, X86::VFNMADD231PDYr },
876  { X86::VFNMADD231PSZ256m, X86::VFNMADD231PSYm },
877  { X86::VFNMADD231PSZ256r, X86::VFNMADD231PSYr },
878  { X86::VFNMSUB132PDZ256m, X86::VFNMSUB132PDYm },
879  { X86::VFNMSUB132PDZ256r, X86::VFNMSUB132PDYr },
880  { X86::VFNMSUB132PSZ256m, X86::VFNMSUB132PSYm },
881  { X86::VFNMSUB132PSZ256r, X86::VFNMSUB132PSYr },
882  { X86::VFNMSUB213PDZ256m, X86::VFNMSUB213PDYm },
883  { X86::VFNMSUB213PDZ256r, X86::VFNMSUB213PDYr },
884  { X86::VFNMSUB213PSZ256m, X86::VFNMSUB213PSYm },
885  { X86::VFNMSUB213PSZ256r, X86::VFNMSUB213PSYr },
886  { X86::VFNMSUB231PDZ256m, X86::VFNMSUB231PDYm },
887  { X86::VFNMSUB231PDZ256r, X86::VFNMSUB231PDYr },
888  { X86::VFNMSUB231PSZ256m, X86::VFNMSUB231PSYm },
889  { X86::VFNMSUB231PSZ256r, X86::VFNMSUB231PSYr },
890  { X86::VGF2P8AFFINEINVQBZ256rmi, X86::VGF2P8AFFINEINVQBYrmi },
891  { X86::VGF2P8AFFINEINVQBZ256rri, X86::VGF2P8AFFINEINVQBYrri },
892  { X86::VGF2P8AFFINEQBZ256rmi, X86::VGF2P8AFFINEQBYrmi },
893  { X86::VGF2P8AFFINEQBZ256rri, X86::VGF2P8AFFINEQBYrri },
894  { X86::VGF2P8MULBZ256rm, X86::VGF2P8MULBYrm },
895  { X86::VGF2P8MULBZ256rr, X86::VGF2P8MULBYrr },
896  { X86::VINSERTF32x4Z256rm, X86::VINSERTF128rm },
897  { X86::VINSERTF32x4Z256rr, X86::VINSERTF128rr },
898  { X86::VINSERTF64x2Z256rm, X86::VINSERTF128rm },
899  { X86::VINSERTF64x2Z256rr, X86::VINSERTF128rr },
900  { X86::VINSERTI32x4Z256rm, X86::VINSERTI128rm },
901  { X86::VINSERTI32x4Z256rr, X86::VINSERTI128rr },
902  { X86::VINSERTI64x2Z256rm, X86::VINSERTI128rm },
903  { X86::VINSERTI64x2Z256rr, X86::VINSERTI128rr },
904  { X86::VMAXCPDZ256rm, X86::VMAXCPDYrm },
905  { X86::VMAXCPDZ256rr, X86::VMAXCPDYrr },
906  { X86::VMAXCPSZ256rm, X86::VMAXCPSYrm },
907  { X86::VMAXCPSZ256rr, X86::VMAXCPSYrr },
908  { X86::VMAXPDZ256rm, X86::VMAXPDYrm },
909  { X86::VMAXPDZ256rr, X86::VMAXPDYrr },
910  { X86::VMAXPSZ256rm, X86::VMAXPSYrm },
911  { X86::VMAXPSZ256rr, X86::VMAXPSYrr },
912  { X86::VMINCPDZ256rm, X86::VMINCPDYrm },
913  { X86::VMINCPDZ256rr, X86::VMINCPDYrr },
914  { X86::VMINCPSZ256rm, X86::VMINCPSYrm },
915  { X86::VMINCPSZ256rr, X86::VMINCPSYrr },
916  { X86::VMINPDZ256rm, X86::VMINPDYrm },
917  { X86::VMINPDZ256rr, X86::VMINPDYrr },
918  { X86::VMINPSZ256rm, X86::VMINPSYrm },
919  { X86::VMINPSZ256rr, X86::VMINPSYrr },
920  { X86::VMOVAPDZ256mr, X86::VMOVAPDYmr },
921  { X86::VMOVAPDZ256rm, X86::VMOVAPDYrm },
922  { X86::VMOVAPDZ256rr, X86::VMOVAPDYrr },
923  { X86::VMOVAPDZ256rr_REV, X86::VMOVAPDYrr_REV },
924  { X86::VMOVAPSZ256mr, X86::VMOVAPSYmr },
925  { X86::VMOVAPSZ256rm, X86::VMOVAPSYrm },
926  { X86::VMOVAPSZ256rr, X86::VMOVAPSYrr },
927  { X86::VMOVAPSZ256rr_REV, X86::VMOVAPSYrr_REV },
928  { X86::VMOVDDUPZ256rm, X86::VMOVDDUPYrm },
929  { X86::VMOVDDUPZ256rr, X86::VMOVDDUPYrr },
930  { X86::VMOVDQA32Z256mr, X86::VMOVDQAYmr },
931  { X86::VMOVDQA32Z256rm, X86::VMOVDQAYrm },
932  { X86::VMOVDQA32Z256rr, X86::VMOVDQAYrr },
933  { X86::VMOVDQA32Z256rr_REV, X86::VMOVDQAYrr_REV },
934  { X86::VMOVDQA64Z256mr, X86::VMOVDQAYmr },
935  { X86::VMOVDQA64Z256rm, X86::VMOVDQAYrm },
936  { X86::VMOVDQA64Z256rr, X86::VMOVDQAYrr },
937  { X86::VMOVDQA64Z256rr_REV, X86::VMOVDQAYrr_REV },
938  { X86::VMOVDQU16Z256mr, X86::VMOVDQUYmr },
939  { X86::VMOVDQU16Z256rm, X86::VMOVDQUYrm },
940  { X86::VMOVDQU16Z256rr, X86::VMOVDQUYrr },
941  { X86::VMOVDQU16Z256rr_REV, X86::VMOVDQUYrr_REV },
942  { X86::VMOVDQU32Z256mr, X86::VMOVDQUYmr },
943  { X86::VMOVDQU32Z256rm, X86::VMOVDQUYrm },
944  { X86::VMOVDQU32Z256rr, X86::VMOVDQUYrr },
945  { X86::VMOVDQU32Z256rr_REV, X86::VMOVDQUYrr_REV },
946  { X86::VMOVDQU64Z256mr, X86::VMOVDQUYmr },
947  { X86::VMOVDQU64Z256rm, X86::VMOVDQUYrm },
948  { X86::VMOVDQU64Z256rr, X86::VMOVDQUYrr },
949  { X86::VMOVDQU64Z256rr_REV, X86::VMOVDQUYrr_REV },
950  { X86::VMOVDQU8Z256mr, X86::VMOVDQUYmr },
951  { X86::VMOVDQU8Z256rm, X86::VMOVDQUYrm },
952  { X86::VMOVDQU8Z256rr, X86::VMOVDQUYrr },
953  { X86::VMOVDQU8Z256rr_REV, X86::VMOVDQUYrr_REV },
954  { X86::VMOVNTDQAZ256rm, X86::VMOVNTDQAYrm },
955  { X86::VMOVNTDQZ256mr, X86::VMOVNTDQYmr },
956  { X86::VMOVNTPDZ256mr, X86::VMOVNTPDYmr },
957  { X86::VMOVNTPSZ256mr, X86::VMOVNTPSYmr },
958  { X86::VMOVSHDUPZ256rm, X86::VMOVSHDUPYrm },
959  { X86::VMOVSHDUPZ256rr, X86::VMOVSHDUPYrr },
960  { X86::VMOVSLDUPZ256rm, X86::VMOVSLDUPYrm },
961  { X86::VMOVSLDUPZ256rr, X86::VMOVSLDUPYrr },
962  { X86::VMOVUPDZ256mr, X86::VMOVUPDYmr },
963  { X86::VMOVUPDZ256rm, X86::VMOVUPDYrm },
964  { X86::VMOVUPDZ256rr, X86::VMOVUPDYrr },
965  { X86::VMOVUPDZ256rr_REV, X86::VMOVUPDYrr_REV },
966  { X86::VMOVUPSZ256mr, X86::VMOVUPSYmr },
967  { X86::VMOVUPSZ256rm, X86::VMOVUPSYrm },
968  { X86::VMOVUPSZ256rr, X86::VMOVUPSYrr },
969  { X86::VMOVUPSZ256rr_REV, X86::VMOVUPSYrr_REV },
970  { X86::VMULPDZ256rm, X86::VMULPDYrm },
971  { X86::VMULPDZ256rr, X86::VMULPDYrr },
972  { X86::VMULPSZ256rm, X86::VMULPSYrm },
973  { X86::VMULPSZ256rr, X86::VMULPSYrr },
974  { X86::VORPDZ256rm, X86::VORPDYrm },
975  { X86::VORPDZ256rr, X86::VORPDYrr },
976  { X86::VORPSZ256rm, X86::VORPSYrm },
977  { X86::VORPSZ256rr, X86::VORPSYrr },
978  { X86::VPABSBZ256rm, X86::VPABSBYrm },
979  { X86::VPABSBZ256rr, X86::VPABSBYrr },
980  { X86::VPABSDZ256rm, X86::VPABSDYrm },
981  { X86::VPABSDZ256rr, X86::VPABSDYrr },
982  { X86::VPABSWZ256rm, X86::VPABSWYrm },
983  { X86::VPABSWZ256rr, X86::VPABSWYrr },
984  { X86::VPACKSSDWZ256rm, X86::VPACKSSDWYrm },
985  { X86::VPACKSSDWZ256rr, X86::VPACKSSDWYrr },
986  { X86::VPACKSSWBZ256rm, X86::VPACKSSWBYrm },
987  { X86::VPACKSSWBZ256rr, X86::VPACKSSWBYrr },
988  { X86::VPACKUSDWZ256rm, X86::VPACKUSDWYrm },
989  { X86::VPACKUSDWZ256rr, X86::VPACKUSDWYrr },
990  { X86::VPACKUSWBZ256rm, X86::VPACKUSWBYrm },
991  { X86::VPACKUSWBZ256rr, X86::VPACKUSWBYrr },
992  { X86::VPADDBZ256rm, X86::VPADDBYrm },
993  { X86::VPADDBZ256rr, X86::VPADDBYrr },
994  { X86::VPADDDZ256rm, X86::VPADDDYrm },
995  { X86::VPADDDZ256rr, X86::VPADDDYrr },
996  { X86::VPADDQZ256rm, X86::VPADDQYrm },
997  { X86::VPADDQZ256rr, X86::VPADDQYrr },
998  { X86::VPADDSBZ256rm, X86::VPADDSBYrm },
999  { X86::VPADDSBZ256rr, X86::VPADDSBYrr },
1000  { X86::VPADDSWZ256rm, X86::VPADDSWYrm },
1001  { X86::VPADDSWZ256rr, X86::VPADDSWYrr },
1002  { X86::VPADDUSBZ256rm, X86::VPADDUSBYrm },
1003  { X86::VPADDUSBZ256rr, X86::VPADDUSBYrr },
1004  { X86::VPADDUSWZ256rm, X86::VPADDUSWYrm },
1005  { X86::VPADDUSWZ256rr, X86::VPADDUSWYrr },
1006  { X86::VPADDWZ256rm, X86::VPADDWYrm },
1007  { X86::VPADDWZ256rr, X86::VPADDWYrr },
1008  { X86::VPALIGNRZ256rmi, X86::VPALIGNRYrmi },
1009  { X86::VPALIGNRZ256rri, X86::VPALIGNRYrri },
1010  { X86::VPANDDZ256rm, X86::VPANDYrm },
1011  { X86::VPANDDZ256rr, X86::VPANDYrr },
1012  { X86::VPANDNDZ256rm, X86::VPANDNYrm },
1013  { X86::VPANDNDZ256rr, X86::VPANDNYrr },
1014  { X86::VPANDNQZ256rm, X86::VPANDNYrm },
1015  { X86::VPANDNQZ256rr, X86::VPANDNYrr },
1016  { X86::VPANDQZ256rm, X86::VPANDYrm },
1017  { X86::VPANDQZ256rr, X86::VPANDYrr },
1018  { X86::VPAVGBZ256rm, X86::VPAVGBYrm },
1019  { X86::VPAVGBZ256rr, X86::VPAVGBYrr },
1020  { X86::VPAVGWZ256rm, X86::VPAVGWYrm },
1021  { X86::VPAVGWZ256rr, X86::VPAVGWYrr },
1022  { X86::VPBROADCASTBZ256m, X86::VPBROADCASTBYrm },
1023  { X86::VPBROADCASTBZ256r, X86::VPBROADCASTBYrr },
1024  { X86::VPBROADCASTDZ256m, X86::VPBROADCASTDYrm },
1025  { X86::VPBROADCASTDZ256r, X86::VPBROADCASTDYrr },
1026  { X86::VPBROADCASTQZ256m, X86::VPBROADCASTQYrm },
1027  { X86::VPBROADCASTQZ256r, X86::VPBROADCASTQYrr },
1028  { X86::VPBROADCASTWZ256m, X86::VPBROADCASTWYrm },
1029  { X86::VPBROADCASTWZ256r, X86::VPBROADCASTWYrr },
1030  { X86::VPCLMULQDQZ256rm, X86::VPCLMULQDQYrm },
1031  { X86::VPCLMULQDQZ256rr, X86::VPCLMULQDQYrr },
1032  { X86::VPERMDZ256rm, X86::VPERMDYrm },
1033  { X86::VPERMDZ256rr, X86::VPERMDYrr },
1034  { X86::VPERMILPDZ256mi, X86::VPERMILPDYmi },
1035  { X86::VPERMILPDZ256ri, X86::VPERMILPDYri },
1036  { X86::VPERMILPDZ256rm, X86::VPERMILPDYrm },
1037  { X86::VPERMILPDZ256rr, X86::VPERMILPDYrr },
1038  { X86::VPERMILPSZ256mi, X86::VPERMILPSYmi },
1039  { X86::VPERMILPSZ256ri, X86::VPERMILPSYri },
1040  { X86::VPERMILPSZ256rm, X86::VPERMILPSYrm },
1041  { X86::VPERMILPSZ256rr, X86::VPERMILPSYrr },
1042  { X86::VPERMPDZ256mi, X86::VPERMPDYmi },
1043  { X86::VPERMPDZ256ri, X86::VPERMPDYri },
1044  { X86::VPERMPSZ256rm, X86::VPERMPSYrm },
1045  { X86::VPERMPSZ256rr, X86::VPERMPSYrr },
1046  { X86::VPERMQZ256mi, X86::VPERMQYmi },
1047  { X86::VPERMQZ256ri, X86::VPERMQYri },
1048  { X86::VPMADDUBSWZ256rm, X86::VPMADDUBSWYrm },
1049  { X86::VPMADDUBSWZ256rr, X86::VPMADDUBSWYrr },
1050  { X86::VPMADDWDZ256rm, X86::VPMADDWDYrm },
1051  { X86::VPMADDWDZ256rr, X86::VPMADDWDYrr },
1052  { X86::VPMAXSBZ256rm, X86::VPMAXSBYrm },
1053  { X86::VPMAXSBZ256rr, X86::VPMAXSBYrr },
1054  { X86::VPMAXSDZ256rm, X86::VPMAXSDYrm },
1055  { X86::VPMAXSDZ256rr, X86::VPMAXSDYrr },
1056  { X86::VPMAXSWZ256rm, X86::VPMAXSWYrm },
1057  { X86::VPMAXSWZ256rr, X86::VPMAXSWYrr },
1058  { X86::VPMAXUBZ256rm, X86::VPMAXUBYrm },
1059  { X86::VPMAXUBZ256rr, X86::VPMAXUBYrr },
1060  { X86::VPMAXUDZ256rm, X86::VPMAXUDYrm },
1061  { X86::VPMAXUDZ256rr, X86::VPMAXUDYrr },
1062  { X86::VPMAXUWZ256rm, X86::VPMAXUWYrm },
1063  { X86::VPMAXUWZ256rr, X86::VPMAXUWYrr },
1064  { X86::VPMINSBZ256rm, X86::VPMINSBYrm },
1065  { X86::VPMINSBZ256rr, X86::VPMINSBYrr },
1066  { X86::VPMINSDZ256rm, X86::VPMINSDYrm },
1067  { X86::VPMINSDZ256rr, X86::VPMINSDYrr },
1068  { X86::VPMINSWZ256rm, X86::VPMINSWYrm },
1069  { X86::VPMINSWZ256rr, X86::VPMINSWYrr },
1070  { X86::VPMINUBZ256rm, X86::VPMINUBYrm },
1071  { X86::VPMINUBZ256rr, X86::VPMINUBYrr },
1072  { X86::VPMINUDZ256rm, X86::VPMINUDYrm },
1073  { X86::VPMINUDZ256rr, X86::VPMINUDYrr },
1074  { X86::VPMINUWZ256rm, X86::VPMINUWYrm },
1075  { X86::VPMINUWZ256rr, X86::VPMINUWYrr },
1076  { X86::VPMOVSXBDZ256rm, X86::VPMOVSXBDYrm },
1077  { X86::VPMOVSXBDZ256rr, X86::VPMOVSXBDYrr },
1078  { X86::VPMOVSXBQZ256rm, X86::VPMOVSXBQYrm },
1079  { X86::VPMOVSXBQZ256rr, X86::VPMOVSXBQYrr },
1080  { X86::VPMOVSXBWZ256rm, X86::VPMOVSXBWYrm },
1081  { X86::VPMOVSXBWZ256rr, X86::VPMOVSXBWYrr },
1082  { X86::VPMOVSXDQZ256rm, X86::VPMOVSXDQYrm },
1083  { X86::VPMOVSXDQZ256rr, X86::VPMOVSXDQYrr },
1084  { X86::VPMOVSXWDZ256rm, X86::VPMOVSXWDYrm },
1085  { X86::VPMOVSXWDZ256rr, X86::VPMOVSXWDYrr },
1086  { X86::VPMOVSXWQZ256rm, X86::VPMOVSXWQYrm },
1087  { X86::VPMOVSXWQZ256rr, X86::VPMOVSXWQYrr },
1088  { X86::VPMOVZXBDZ256rm, X86::VPMOVZXBDYrm },
1089  { X86::VPMOVZXBDZ256rr, X86::VPMOVZXBDYrr },
1090  { X86::VPMOVZXBQZ256rm, X86::VPMOVZXBQYrm },
1091  { X86::VPMOVZXBQZ256rr, X86::VPMOVZXBQYrr },
1092  { X86::VPMOVZXBWZ256rm, X86::VPMOVZXBWYrm },
1093  { X86::VPMOVZXBWZ256rr, X86::VPMOVZXBWYrr },
1094  { X86::VPMOVZXDQZ256rm, X86::VPMOVZXDQYrm },
1095  { X86::VPMOVZXDQZ256rr, X86::VPMOVZXDQYrr },
1096  { X86::VPMOVZXWDZ256rm, X86::VPMOVZXWDYrm },
1097  { X86::VPMOVZXWDZ256rr, X86::VPMOVZXWDYrr },
1098  { X86::VPMOVZXWQZ256rm, X86::VPMOVZXWQYrm },
1099  { X86::VPMOVZXWQZ256rr, X86::VPMOVZXWQYrr },
1100  { X86::VPMULDQZ256rm, X86::VPMULDQYrm },
1101  { X86::VPMULDQZ256rr, X86::VPMULDQYrr },
1102  { X86::VPMULHRSWZ256rm, X86::VPMULHRSWYrm },
1103  { X86::VPMULHRSWZ256rr, X86::VPMULHRSWYrr },
1104  { X86::VPMULHUWZ256rm, X86::VPMULHUWYrm },
1105  { X86::VPMULHUWZ256rr, X86::VPMULHUWYrr },
1106  { X86::VPMULHWZ256rm, X86::VPMULHWYrm },
1107  { X86::VPMULHWZ256rr, X86::VPMULHWYrr },
1108  { X86::VPMULLDZ256rm, X86::VPMULLDYrm },
1109  { X86::VPMULLDZ256rr, X86::VPMULLDYrr },
1110  { X86::VPMULLWZ256rm, X86::VPMULLWYrm },
1111  { X86::VPMULLWZ256rr, X86::VPMULLWYrr },
1112  { X86::VPMULUDQZ256rm, X86::VPMULUDQYrm },
1113  { X86::VPMULUDQZ256rr, X86::VPMULUDQYrr },
1114  { X86::VPORDZ256rm, X86::VPORYrm },
1115  { X86::VPORDZ256rr, X86::VPORYrr },
1116  { X86::VPORQZ256rm, X86::VPORYrm },
1117  { X86::VPORQZ256rr, X86::VPORYrr },
1118  { X86::VPSADBWZ256rm, X86::VPSADBWYrm },
1119  { X86::VPSADBWZ256rr, X86::VPSADBWYrr },
1120  { X86::VPSHUFBZ256rm, X86::VPSHUFBYrm },
1121  { X86::VPSHUFBZ256rr, X86::VPSHUFBYrr },
1122  { X86::VPSHUFDZ256mi, X86::VPSHUFDYmi },
1123  { X86::VPSHUFDZ256ri, X86::VPSHUFDYri },
1124  { X86::VPSHUFHWZ256mi, X86::VPSHUFHWYmi },
1125  { X86::VPSHUFHWZ256ri, X86::VPSHUFHWYri },
1126  { X86::VPSHUFLWZ256mi, X86::VPSHUFLWYmi },
1127  { X86::VPSHUFLWZ256ri, X86::VPSHUFLWYri },
1128  { X86::VPSLLDQZ256rr, X86::VPSLLDQYri },
1129  { X86::VPSLLDZ256ri, X86::VPSLLDYri },
1130  { X86::VPSLLDZ256rm, X86::VPSLLDYrm },
1131  { X86::VPSLLDZ256rr, X86::VPSLLDYrr },
1132  { X86::VPSLLQZ256ri, X86::VPSLLQYri },
1133  { X86::VPSLLQZ256rm, X86::VPSLLQYrm },
1134  { X86::VPSLLQZ256rr, X86::VPSLLQYrr },
1135  { X86::VPSLLVDZ256rm, X86::VPSLLVDYrm },
1136  { X86::VPSLLVDZ256rr, X86::VPSLLVDYrr },
1137  { X86::VPSLLVQZ256rm, X86::VPSLLVQYrm },
1138  { X86::VPSLLVQZ256rr, X86::VPSLLVQYrr },
1139  { X86::VPSLLWZ256ri, X86::VPSLLWYri },
1140  { X86::VPSLLWZ256rm, X86::VPSLLWYrm },
1141  { X86::VPSLLWZ256rr, X86::VPSLLWYrr },
1142  { X86::VPSRADZ256ri, X86::VPSRADYri },
1143  { X86::VPSRADZ256rm, X86::VPSRADYrm },
1144  { X86::VPSRADZ256rr, X86::VPSRADYrr },
1145  { X86::VPSRAVDZ256rm, X86::VPSRAVDYrm },
1146  { X86::VPSRAVDZ256rr, X86::VPSRAVDYrr },
1147  { X86::VPSRAWZ256ri, X86::VPSRAWYri },
1148  { X86::VPSRAWZ256rm, X86::VPSRAWYrm },
1149  { X86::VPSRAWZ256rr, X86::VPSRAWYrr },
1150  { X86::VPSRLDQZ256rr, X86::VPSRLDQYri },
1151  { X86::VPSRLDZ256ri, X86::VPSRLDYri },
1152  { X86::VPSRLDZ256rm, X86::VPSRLDYrm },
1153  { X86::VPSRLDZ256rr, X86::VPSRLDYrr },
1154  { X86::VPSRLQZ256ri, X86::VPSRLQYri },
1155  { X86::VPSRLQZ256rm, X86::VPSRLQYrm },
1156  { X86::VPSRLQZ256rr, X86::VPSRLQYrr },
1157  { X86::VPSRLVDZ256rm, X86::VPSRLVDYrm },
1158  { X86::VPSRLVDZ256rr, X86::VPSRLVDYrr },
1159  { X86::VPSRLVQZ256rm, X86::VPSRLVQYrm },
1160  { X86::VPSRLVQZ256rr, X86::VPSRLVQYrr },
1161  { X86::VPSRLWZ256ri, X86::VPSRLWYri },
1162  { X86::VPSRLWZ256rm, X86::VPSRLWYrm },
1163  { X86::VPSRLWZ256rr, X86::VPSRLWYrr },
1164  { X86::VPSUBBZ256rm, X86::VPSUBBYrm },
1165  { X86::VPSUBBZ256rr, X86::VPSUBBYrr },
1166  { X86::VPSUBDZ256rm, X86::VPSUBDYrm },
1167  { X86::VPSUBDZ256rr, X86::VPSUBDYrr },
1168  { X86::VPSUBQZ256rm, X86::VPSUBQYrm },
1169  { X86::VPSUBQZ256rr, X86::VPSUBQYrr },
1170  { X86::VPSUBSBZ256rm, X86::VPSUBSBYrm },
1171  { X86::VPSUBSBZ256rr, X86::VPSUBSBYrr },
1172  { X86::VPSUBSWZ256rm, X86::VPSUBSWYrm },
1173  { X86::VPSUBSWZ256rr, X86::VPSUBSWYrr },
1174  { X86::VPSUBUSBZ256rm, X86::VPSUBUSBYrm },
1175  { X86::VPSUBUSBZ256rr, X86::VPSUBUSBYrr },
1176  { X86::VPSUBUSWZ256rm, X86::VPSUBUSWYrm },
1177  { X86::VPSUBUSWZ256rr, X86::VPSUBUSWYrr },
1178  { X86::VPSUBWZ256rm, X86::VPSUBWYrm },
1179  { X86::VPSUBWZ256rr, X86::VPSUBWYrr },
1180  { X86::VPUNPCKHBWZ256rm, X86::VPUNPCKHBWYrm },
1181  { X86::VPUNPCKHBWZ256rr, X86::VPUNPCKHBWYrr },
1182  { X86::VPUNPCKHDQZ256rm, X86::VPUNPCKHDQYrm },
1183  { X86::VPUNPCKHDQZ256rr, X86::VPUNPCKHDQYrr },
1184  { X86::VPUNPCKHQDQZ256rm, X86::VPUNPCKHQDQYrm },
1185  { X86::VPUNPCKHQDQZ256rr, X86::VPUNPCKHQDQYrr },
1186  { X86::VPUNPCKHWDZ256rm, X86::VPUNPCKHWDYrm },
1187  { X86::VPUNPCKHWDZ256rr, X86::VPUNPCKHWDYrr },
1188  { X86::VPUNPCKLBWZ256rm, X86::VPUNPCKLBWYrm },
1189  { X86::VPUNPCKLBWZ256rr, X86::VPUNPCKLBWYrr },
1190  { X86::VPUNPCKLDQZ256rm, X86::VPUNPCKLDQYrm },
1191  { X86::VPUNPCKLDQZ256rr, X86::VPUNPCKLDQYrr },
1192  { X86::VPUNPCKLQDQZ256rm, X86::VPUNPCKLQDQYrm },
1193  { X86::VPUNPCKLQDQZ256rr, X86::VPUNPCKLQDQYrr },
1194  { X86::VPUNPCKLWDZ256rm, X86::VPUNPCKLWDYrm },
1195  { X86::VPUNPCKLWDZ256rr, X86::VPUNPCKLWDYrr },
1196  { X86::VPXORDZ256rm, X86::VPXORYrm },
1197  { X86::VPXORDZ256rr, X86::VPXORYrr },
1198  { X86::VPXORQZ256rm, X86::VPXORYrm },
1199  { X86::VPXORQZ256rr, X86::VPXORYrr },
1200  { X86::VRNDSCALEPDZ256rmi, X86::VROUNDPDYm },
1201  { X86::VRNDSCALEPDZ256rri, X86::VROUNDPDYr },
1202  { X86::VRNDSCALEPSZ256rmi, X86::VROUNDPSYm },
1203  { X86::VRNDSCALEPSZ256rri, X86::VROUNDPSYr },
1204  { X86::VSHUFF32X4Z256rmi, X86::VPERM2F128rm },
1205  { X86::VSHUFF32X4Z256rri, X86::VPERM2F128rr },
1206  { X86::VSHUFF64X2Z256rmi, X86::VPERM2F128rm },
1207  { X86::VSHUFF64X2Z256rri, X86::VPERM2F128rr },
1208  { X86::VSHUFI32X4Z256rmi, X86::VPERM2I128rm },
1209  { X86::VSHUFI32X4Z256rri, X86::VPERM2I128rr },
1210  { X86::VSHUFI64X2Z256rmi, X86::VPERM2I128rm },
1211  { X86::VSHUFI64X2Z256rri, X86::VPERM2I128rr },
1212  { X86::VSHUFPDZ256rmi, X86::VSHUFPDYrmi },
1213  { X86::VSHUFPDZ256rri, X86::VSHUFPDYrri },
1214  { X86::VSHUFPSZ256rmi, X86::VSHUFPSYrmi },
1215  { X86::VSHUFPSZ256rri, X86::VSHUFPSYrri },
1216  { X86::VSQRTPDZ256m, X86::VSQRTPDYm },
1217  { X86::VSQRTPDZ256r, X86::VSQRTPDYr },
1218  { X86::VSQRTPSZ256m, X86::VSQRTPSYm },
1219  { X86::VSQRTPSZ256r, X86::VSQRTPSYr },
1220  { X86::VSUBPDZ256rm, X86::VSUBPDYrm },
1221  { X86::VSUBPDZ256rr, X86::VSUBPDYrr },
1222  { X86::VSUBPSZ256rm, X86::VSUBPSYrm },
1223  { X86::VSUBPSZ256rr, X86::VSUBPSYrr },
1224  { X86::VUNPCKHPDZ256rm, X86::VUNPCKHPDYrm },
1225  { X86::VUNPCKHPDZ256rr, X86::VUNPCKHPDYrr },
1226  { X86::VUNPCKHPSZ256rm, X86::VUNPCKHPSYrm },
1227  { X86::VUNPCKHPSZ256rr, X86::VUNPCKHPSYrr },
1228  { X86::VUNPCKLPDZ256rm, X86::VUNPCKLPDYrm },
1229  { X86::VUNPCKLPDZ256rr, X86::VUNPCKLPDYrr },
1230  { X86::VUNPCKLPSZ256rm, X86::VUNPCKLPSYrm },
1231  { X86::VUNPCKLPSZ256rr, X86::VUNPCKLPSYrr },
1232  { X86::VXORPDZ256rm, X86::VXORPDYrm },
1233  { X86::VXORPDZ256rr, X86::VXORPDYrr },
1234  { X86::VXORPSZ256rm, X86::VXORPSYrm },
1235  { X86::VXORPSZ256rr, X86::VXORPSYrr },
1236};
1237
1238