1 //===-- X86InstrFoldTables.cpp - X86 Instruction Folding Tables -----------===//
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
7 //===----------------------------------------------------------------------===//
9 // This file contains the X86 memory folding tables.
11 //===----------------------------------------------------------------------===//
13 #include "X86InstrFoldTables.h"
14 #include "X86InstrInfo.h"
15 #include "llvm/ADT/STLExtras.h"
20 // These tables are sorted by their RegOp value allowing them to be binary
21 // searched at runtime without the need for additional storage. The enum values
22 // are currently emitted in X86GenInstrInfo.inc in alphabetical order. Which
23 // makes sorting these tables a simple matter of alphabetizing the table.
25 // We also have a tablegen emitter that tries to autogenerate these tables
26 // by comparing encoding information. This can be enabled by passing
27 // X86_GEN_FOLD_TABLES=ON to cmake which fill produce X86GenFoldTables.inc
28 // in the build area. There are currently some bugs in the autogenerated table
29 // that require a manual review to copy them from the autogenerated table into
30 // this table. It is unclear if we will ever be able to fully automate this
31 // because as new instruction are added into holes in the X86 opcode map they
32 // potentially pair up with old instructions and create new entries in the
33 // tables that would be incorrect. The manual review process allows us a chance
34 // to catch these before they become observable bugs.
35 static const X86MemoryFoldTableEntry MemoryFoldTable2Addr
[] = {
36 { X86::ADD16ri8_DB
, X86::ADD16mi8
, TB_NO_REVERSE
},
37 { X86::ADD16ri_DB
, X86::ADD16mi
, TB_NO_REVERSE
},
38 { X86::ADD16rr_DB
, X86::ADD16mr
, TB_NO_REVERSE
},
39 { X86::ADD32ri8_DB
, X86::ADD32mi8
, TB_NO_REVERSE
},
40 { X86::ADD32ri_DB
, X86::ADD32mi
, TB_NO_REVERSE
},
41 { X86::ADD32rr_DB
, X86::ADD32mr
, TB_NO_REVERSE
},
42 { X86::ADD64ri32_DB
,X86::ADD64mi32
, TB_NO_REVERSE
},
43 { X86::ADD64ri8_DB
, X86::ADD64mi8
, TB_NO_REVERSE
},
44 { X86::ADD64rr_DB
, X86::ADD64mr
, TB_NO_REVERSE
},
45 { X86::ADD8ri_DB
, X86::ADD8mi
, TB_NO_REVERSE
},
46 { X86::ADD8rr_DB
, X86::ADD8mr
, TB_NO_REVERSE
},
47 { X86::ADC16ri
, X86::ADC16mi
, 0 },
48 { X86::ADC16ri8
, X86::ADC16mi8
, 0 },
49 { X86::ADC16rr
, X86::ADC16mr
, 0 },
50 { X86::ADC32ri
, X86::ADC32mi
, 0 },
51 { X86::ADC32ri8
, X86::ADC32mi8
, 0 },
52 { X86::ADC32rr
, X86::ADC32mr
, 0 },
53 { X86::ADC64ri32
, X86::ADC64mi32
, 0 },
54 { X86::ADC64ri8
, X86::ADC64mi8
, 0 },
55 { X86::ADC64rr
, X86::ADC64mr
, 0 },
56 { X86::ADC8ri
, X86::ADC8mi
, 0 },
57 { X86::ADC8ri8
, X86::ADC8mi8
, 0 },
58 { X86::ADC8rr
, X86::ADC8mr
, 0 },
59 { X86::ADD16ri
, X86::ADD16mi
, 0 },
60 { X86::ADD16ri8
, X86::ADD16mi8
, 0 },
61 { X86::ADD16rr
, X86::ADD16mr
, 0 },
62 { X86::ADD32ri
, X86::ADD32mi
, 0 },
63 { X86::ADD32ri8
, X86::ADD32mi8
, 0 },
64 { X86::ADD32rr
, X86::ADD32mr
, 0 },
65 { X86::ADD64ri32
, X86::ADD64mi32
, 0 },
66 { X86::ADD64ri8
, X86::ADD64mi8
, 0 },
67 { X86::ADD64rr
, X86::ADD64mr
, 0 },
68 { X86::ADD8ri
, X86::ADD8mi
, 0 },
69 { X86::ADD8ri8
, X86::ADD8mi8
, 0 },
70 { X86::ADD8rr
, X86::ADD8mr
, 0 },
71 { X86::AND16ri
, X86::AND16mi
, 0 },
72 { X86::AND16ri8
, X86::AND16mi8
, 0 },
73 { X86::AND16rr
, X86::AND16mr
, 0 },
74 { X86::AND32ri
, X86::AND32mi
, 0 },
75 { X86::AND32ri8
, X86::AND32mi8
, 0 },
76 { X86::AND32rr
, X86::AND32mr
, 0 },
77 { X86::AND64ri32
, X86::AND64mi32
, 0 },
78 { X86::AND64ri8
, X86::AND64mi8
, 0 },
79 { X86::AND64rr
, X86::AND64mr
, 0 },
80 { X86::AND8ri
, X86::AND8mi
, 0 },
81 { X86::AND8ri8
, X86::AND8mi8
, 0 },
82 { X86::AND8rr
, X86::AND8mr
, 0 },
83 { X86::BTC16ri8
, X86::BTC16mi8
, 0 },
84 { X86::BTC32ri8
, X86::BTC32mi8
, 0 },
85 { X86::BTC64ri8
, X86::BTC64mi8
, 0 },
86 { X86::BTR16ri8
, X86::BTR16mi8
, 0 },
87 { X86::BTR32ri8
, X86::BTR32mi8
, 0 },
88 { X86::BTR64ri8
, X86::BTR64mi8
, 0 },
89 { X86::BTS16ri8
, X86::BTS16mi8
, 0 },
90 { X86::BTS32ri8
, X86::BTS32mi8
, 0 },
91 { X86::BTS64ri8
, X86::BTS64mi8
, 0 },
92 { X86::DEC16r
, X86::DEC16m
, 0 },
93 { X86::DEC32r
, X86::DEC32m
, 0 },
94 { X86::DEC64r
, X86::DEC64m
, 0 },
95 { X86::DEC8r
, X86::DEC8m
, 0 },
96 { X86::INC16r
, X86::INC16m
, 0 },
97 { X86::INC32r
, X86::INC32m
, 0 },
98 { X86::INC64r
, X86::INC64m
, 0 },
99 { X86::INC8r
, X86::INC8m
, 0 },
100 { X86::NEG16r
, X86::NEG16m
, 0 },
101 { X86::NEG32r
, X86::NEG32m
, 0 },
102 { X86::NEG64r
, X86::NEG64m
, 0 },
103 { X86::NEG8r
, X86::NEG8m
, 0 },
104 { X86::NOT16r
, X86::NOT16m
, 0 },
105 { X86::NOT32r
, X86::NOT32m
, 0 },
106 { X86::NOT64r
, X86::NOT64m
, 0 },
107 { X86::NOT8r
, X86::NOT8m
, 0 },
108 { X86::OR16ri
, X86::OR16mi
, 0 },
109 { X86::OR16ri8
, X86::OR16mi8
, 0 },
110 { X86::OR16rr
, X86::OR16mr
, 0 },
111 { X86::OR32ri
, X86::OR32mi
, 0 },
112 { X86::OR32ri8
, X86::OR32mi8
, 0 },
113 { X86::OR32rr
, X86::OR32mr
, 0 },
114 { X86::OR64ri32
, X86::OR64mi32
, 0 },
115 { X86::OR64ri8
, X86::OR64mi8
, 0 },
116 { X86::OR64rr
, X86::OR64mr
, 0 },
117 { X86::OR8ri
, X86::OR8mi
, 0 },
118 { X86::OR8ri8
, X86::OR8mi8
, 0 },
119 { X86::OR8rr
, X86::OR8mr
, 0 },
120 { X86::RCL16r1
, X86::RCL16m1
, 0 },
121 { X86::RCL16rCL
, X86::RCL16mCL
, 0 },
122 { X86::RCL16ri
, X86::RCL16mi
, 0 },
123 { X86::RCL32r1
, X86::RCL32m1
, 0 },
124 { X86::RCL32rCL
, X86::RCL32mCL
, 0 },
125 { X86::RCL32ri
, X86::RCL32mi
, 0 },
126 { X86::RCL64r1
, X86::RCL64m1
, 0 },
127 { X86::RCL64rCL
, X86::RCL64mCL
, 0 },
128 { X86::RCL64ri
, X86::RCL64mi
, 0 },
129 { X86::RCL8r1
, X86::RCL8m1
, 0 },
130 { X86::RCL8rCL
, X86::RCL8mCL
, 0 },
131 { X86::RCL8ri
, X86::RCL8mi
, 0 },
132 { X86::RCR16r1
, X86::RCR16m1
, 0 },
133 { X86::RCR16rCL
, X86::RCR16mCL
, 0 },
134 { X86::RCR16ri
, X86::RCR16mi
, 0 },
135 { X86::RCR32r1
, X86::RCR32m1
, 0 },
136 { X86::RCR32rCL
, X86::RCR32mCL
, 0 },
137 { X86::RCR32ri
, X86::RCR32mi
, 0 },
138 { X86::RCR64r1
, X86::RCR64m1
, 0 },
139 { X86::RCR64rCL
, X86::RCR64mCL
, 0 },
140 { X86::RCR64ri
, X86::RCR64mi
, 0 },
141 { X86::RCR8r1
, X86::RCR8m1
, 0 },
142 { X86::RCR8rCL
, X86::RCR8mCL
, 0 },
143 { X86::RCR8ri
, X86::RCR8mi
, 0 },
144 { X86::ROL16r1
, X86::ROL16m1
, 0 },
145 { X86::ROL16rCL
, X86::ROL16mCL
, 0 },
146 { X86::ROL16ri
, X86::ROL16mi
, 0 },
147 { X86::ROL32r1
, X86::ROL32m1
, 0 },
148 { X86::ROL32rCL
, X86::ROL32mCL
, 0 },
149 { X86::ROL32ri
, X86::ROL32mi
, 0 },
150 { X86::ROL64r1
, X86::ROL64m1
, 0 },
151 { X86::ROL64rCL
, X86::ROL64mCL
, 0 },
152 { X86::ROL64ri
, X86::ROL64mi
, 0 },
153 { X86::ROL8r1
, X86::ROL8m1
, 0 },
154 { X86::ROL8rCL
, X86::ROL8mCL
, 0 },
155 { X86::ROL8ri
, X86::ROL8mi
, 0 },
156 { X86::ROR16r1
, X86::ROR16m1
, 0 },
157 { X86::ROR16rCL
, X86::ROR16mCL
, 0 },
158 { X86::ROR16ri
, X86::ROR16mi
, 0 },
159 { X86::ROR32r1
, X86::ROR32m1
, 0 },
160 { X86::ROR32rCL
, X86::ROR32mCL
, 0 },
161 { X86::ROR32ri
, X86::ROR32mi
, 0 },
162 { X86::ROR64r1
, X86::ROR64m1
, 0 },
163 { X86::ROR64rCL
, X86::ROR64mCL
, 0 },
164 { X86::ROR64ri
, X86::ROR64mi
, 0 },
165 { X86::ROR8r1
, X86::ROR8m1
, 0 },
166 { X86::ROR8rCL
, X86::ROR8mCL
, 0 },
167 { X86::ROR8ri
, X86::ROR8mi
, 0 },
168 { X86::SAR16r1
, X86::SAR16m1
, 0 },
169 { X86::SAR16rCL
, X86::SAR16mCL
, 0 },
170 { X86::SAR16ri
, X86::SAR16mi
, 0 },
171 { X86::SAR32r1
, X86::SAR32m1
, 0 },
172 { X86::SAR32rCL
, X86::SAR32mCL
, 0 },
173 { X86::SAR32ri
, X86::SAR32mi
, 0 },
174 { X86::SAR64r1
, X86::SAR64m1
, 0 },
175 { X86::SAR64rCL
, X86::SAR64mCL
, 0 },
176 { X86::SAR64ri
, X86::SAR64mi
, 0 },
177 { X86::SAR8r1
, X86::SAR8m1
, 0 },
178 { X86::SAR8rCL
, X86::SAR8mCL
, 0 },
179 { X86::SAR8ri
, X86::SAR8mi
, 0 },
180 { X86::SBB16ri
, X86::SBB16mi
, 0 },
181 { X86::SBB16ri8
, X86::SBB16mi8
, 0 },
182 { X86::SBB16rr
, X86::SBB16mr
, 0 },
183 { X86::SBB32ri
, X86::SBB32mi
, 0 },
184 { X86::SBB32ri8
, X86::SBB32mi8
, 0 },
185 { X86::SBB32rr
, X86::SBB32mr
, 0 },
186 { X86::SBB64ri32
, X86::SBB64mi32
, 0 },
187 { X86::SBB64ri8
, X86::SBB64mi8
, 0 },
188 { X86::SBB64rr
, X86::SBB64mr
, 0 },
189 { X86::SBB8ri
, X86::SBB8mi
, 0 },
190 { X86::SBB8ri8
, X86::SBB8mi8
, 0 },
191 { X86::SBB8rr
, X86::SBB8mr
, 0 },
192 { X86::SHL16r1
, X86::SHL16m1
, 0 },
193 { X86::SHL16rCL
, X86::SHL16mCL
, 0 },
194 { X86::SHL16ri
, X86::SHL16mi
, 0 },
195 { X86::SHL32r1
, X86::SHL32m1
, 0 },
196 { X86::SHL32rCL
, X86::SHL32mCL
, 0 },
197 { X86::SHL32ri
, X86::SHL32mi
, 0 },
198 { X86::SHL64r1
, X86::SHL64m1
, 0 },
199 { X86::SHL64rCL
, X86::SHL64mCL
, 0 },
200 { X86::SHL64ri
, X86::SHL64mi
, 0 },
201 { X86::SHL8r1
, X86::SHL8m1
, 0 },
202 { X86::SHL8rCL
, X86::SHL8mCL
, 0 },
203 { X86::SHL8ri
, X86::SHL8mi
, 0 },
204 { X86::SHLD16rrCL
, X86::SHLD16mrCL
, 0 },
205 { X86::SHLD16rri8
, X86::SHLD16mri8
, 0 },
206 { X86::SHLD32rrCL
, X86::SHLD32mrCL
, 0 },
207 { X86::SHLD32rri8
, X86::SHLD32mri8
, 0 },
208 { X86::SHLD64rrCL
, X86::SHLD64mrCL
, 0 },
209 { X86::SHLD64rri8
, X86::SHLD64mri8
, 0 },
210 { X86::SHR16r1
, X86::SHR16m1
, 0 },
211 { X86::SHR16rCL
, X86::SHR16mCL
, 0 },
212 { X86::SHR16ri
, X86::SHR16mi
, 0 },
213 { X86::SHR32r1
, X86::SHR32m1
, 0 },
214 { X86::SHR32rCL
, X86::SHR32mCL
, 0 },
215 { X86::SHR32ri
, X86::SHR32mi
, 0 },
216 { X86::SHR64r1
, X86::SHR64m1
, 0 },
217 { X86::SHR64rCL
, X86::SHR64mCL
, 0 },
218 { X86::SHR64ri
, X86::SHR64mi
, 0 },
219 { X86::SHR8r1
, X86::SHR8m1
, 0 },
220 { X86::SHR8rCL
, X86::SHR8mCL
, 0 },
221 { X86::SHR8ri
, X86::SHR8mi
, 0 },
222 { X86::SHRD16rrCL
, X86::SHRD16mrCL
, 0 },
223 { X86::SHRD16rri8
, X86::SHRD16mri8
, 0 },
224 { X86::SHRD32rrCL
, X86::SHRD32mrCL
, 0 },
225 { X86::SHRD32rri8
, X86::SHRD32mri8
, 0 },
226 { X86::SHRD64rrCL
, X86::SHRD64mrCL
, 0 },
227 { X86::SHRD64rri8
, X86::SHRD64mri8
, 0 },
228 { X86::SUB16ri
, X86::SUB16mi
, 0 },
229 { X86::SUB16ri8
, X86::SUB16mi8
, 0 },
230 { X86::SUB16rr
, X86::SUB16mr
, 0 },
231 { X86::SUB32ri
, X86::SUB32mi
, 0 },
232 { X86::SUB32ri8
, X86::SUB32mi8
, 0 },
233 { X86::SUB32rr
, X86::SUB32mr
, 0 },
234 { X86::SUB64ri32
, X86::SUB64mi32
, 0 },
235 { X86::SUB64ri8
, X86::SUB64mi8
, 0 },
236 { X86::SUB64rr
, X86::SUB64mr
, 0 },
237 { X86::SUB8ri
, X86::SUB8mi
, 0 },
238 { X86::SUB8ri8
, X86::SUB8mi8
, 0 },
239 { X86::SUB8rr
, X86::SUB8mr
, 0 },
240 { X86::XOR16ri
, X86::XOR16mi
, 0 },
241 { X86::XOR16ri8
, X86::XOR16mi8
, 0 },
242 { X86::XOR16rr
, X86::XOR16mr
, 0 },
243 { X86::XOR32ri
, X86::XOR32mi
, 0 },
244 { X86::XOR32ri8
, X86::XOR32mi8
, 0 },
245 { X86::XOR32rr
, X86::XOR32mr
, 0 },
246 { X86::XOR64ri32
, X86::XOR64mi32
, 0 },
247 { X86::XOR64ri8
, X86::XOR64mi8
, 0 },
248 { X86::XOR64rr
, X86::XOR64mr
, 0 },
249 { X86::XOR8ri
, X86::XOR8mi
, 0 },
250 { X86::XOR8ri8
, X86::XOR8mi8
, 0 },
251 { X86::XOR8rr
, X86::XOR8mr
, 0 },
254 static const X86MemoryFoldTableEntry MemoryFoldTable0
[] = {
255 { X86::BT16ri8
, X86::BT16mi8
, TB_FOLDED_LOAD
},
256 { X86::BT32ri8
, X86::BT32mi8
, TB_FOLDED_LOAD
},
257 { X86::BT64ri8
, X86::BT64mi8
, TB_FOLDED_LOAD
},
258 { X86::CALL16r
, X86::CALL16m
, TB_FOLDED_LOAD
},
259 { X86::CALL16r_NT
, X86::CALL16m_NT
, TB_FOLDED_LOAD
},
260 { X86::CALL32r
, X86::CALL32m
, TB_FOLDED_LOAD
},
261 { X86::CALL32r_NT
, X86::CALL32m_NT
, TB_FOLDED_LOAD
},
262 { X86::CALL64r
, X86::CALL64m
, TB_FOLDED_LOAD
},
263 { X86::CALL64r_NT
, X86::CALL64m_NT
, TB_FOLDED_LOAD
},
264 { X86::CMP16ri
, X86::CMP16mi
, TB_FOLDED_LOAD
},
265 { X86::CMP16ri8
, X86::CMP16mi8
, TB_FOLDED_LOAD
},
266 { X86::CMP16rr
, X86::CMP16mr
, TB_FOLDED_LOAD
},
267 { X86::CMP32ri
, X86::CMP32mi
, TB_FOLDED_LOAD
},
268 { X86::CMP32ri8
, X86::CMP32mi8
, TB_FOLDED_LOAD
},
269 { X86::CMP32rr
, X86::CMP32mr
, TB_FOLDED_LOAD
},
270 { X86::CMP64ri32
, X86::CMP64mi32
, TB_FOLDED_LOAD
},
271 { X86::CMP64ri8
, X86::CMP64mi8
, TB_FOLDED_LOAD
},
272 { X86::CMP64rr
, X86::CMP64mr
, TB_FOLDED_LOAD
},
273 { X86::CMP8ri
, X86::CMP8mi
, TB_FOLDED_LOAD
},
274 { X86::CMP8ri8
, X86::CMP8mi8
, TB_FOLDED_LOAD
},
275 { X86::CMP8rr
, X86::CMP8mr
, TB_FOLDED_LOAD
},
276 { X86::DIV16r
, X86::DIV16m
, TB_FOLDED_LOAD
},
277 { X86::DIV32r
, X86::DIV32m
, TB_FOLDED_LOAD
},
278 { X86::DIV64r
, X86::DIV64m
, TB_FOLDED_LOAD
},
279 { X86::DIV8r
, X86::DIV8m
, TB_FOLDED_LOAD
},
280 { X86::EXTRACTPSrr
, X86::EXTRACTPSmr
, TB_FOLDED_STORE
},
281 { X86::IDIV16r
, X86::IDIV16m
, TB_FOLDED_LOAD
},
282 { X86::IDIV32r
, X86::IDIV32m
, TB_FOLDED_LOAD
},
283 { X86::IDIV64r
, X86::IDIV64m
, TB_FOLDED_LOAD
},
284 { X86::IDIV8r
, X86::IDIV8m
, TB_FOLDED_LOAD
},
285 { X86::IMUL16r
, X86::IMUL16m
, TB_FOLDED_LOAD
},
286 { X86::IMUL32r
, X86::IMUL32m
, TB_FOLDED_LOAD
},
287 { X86::IMUL64r
, X86::IMUL64m
, TB_FOLDED_LOAD
},
288 { X86::IMUL8r
, X86::IMUL8m
, TB_FOLDED_LOAD
},
289 { X86::JMP16r
, X86::JMP16m
, TB_FOLDED_LOAD
},
290 { X86::JMP16r_NT
, X86::JMP16m_NT
, TB_FOLDED_LOAD
},
291 { X86::JMP32r
, X86::JMP32m
, TB_FOLDED_LOAD
},
292 { X86::JMP32r_NT
, X86::JMP32m_NT
, TB_FOLDED_LOAD
},
293 { X86::JMP64r
, X86::JMP64m
, TB_FOLDED_LOAD
},
294 { X86::JMP64r_NT
, X86::JMP64m_NT
, TB_FOLDED_LOAD
},
295 { X86::MOV16ri
, X86::MOV16mi
, TB_FOLDED_STORE
},
296 { X86::MOV16rr
, X86::MOV16mr
, TB_FOLDED_STORE
},
297 { X86::MOV32ri
, X86::MOV32mi
, TB_FOLDED_STORE
},
298 { X86::MOV32rr
, X86::MOV32mr
, TB_FOLDED_STORE
},
299 { X86::MOV64ri32
, X86::MOV64mi32
, TB_FOLDED_STORE
},
300 { X86::MOV64rr
, X86::MOV64mr
, TB_FOLDED_STORE
},
301 { X86::MOV8ri
, X86::MOV8mi
, TB_FOLDED_STORE
},
302 { X86::MOV8rr
, X86::MOV8mr
, TB_FOLDED_STORE
},
303 { X86::MOV8rr_NOREX
, X86::MOV8mr_NOREX
, TB_FOLDED_STORE
},
304 { X86::MOVAPDrr
, X86::MOVAPDmr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
305 { X86::MOVAPSrr
, X86::MOVAPSmr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
306 { X86::MOVDQArr
, X86::MOVDQAmr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
307 { X86::MOVDQUrr
, X86::MOVDQUmr
, TB_FOLDED_STORE
},
308 { X86::MOVPDI2DIrr
, X86::MOVPDI2DImr
, TB_FOLDED_STORE
},
309 { X86::MOVPQIto64rr
, X86::MOVPQI2QImr
, TB_FOLDED_STORE
| TB_NO_REVERSE
},
310 { X86::MOVSDto64rr
, X86::MOVSDmr
, TB_FOLDED_STORE
| TB_NO_REVERSE
},
311 { X86::MOVSS2DIrr
, X86::MOVSSmr
, TB_FOLDED_STORE
},
312 { X86::MOVUPDrr
, X86::MOVUPDmr
, TB_FOLDED_STORE
},
313 { X86::MOVUPSrr
, X86::MOVUPSmr
, TB_FOLDED_STORE
},
314 { X86::MUL16r
, X86::MUL16m
, TB_FOLDED_LOAD
},
315 { X86::MUL32r
, X86::MUL32m
, TB_FOLDED_LOAD
},
316 { X86::MUL64r
, X86::MUL64m
, TB_FOLDED_LOAD
},
317 { X86::MUL8r
, X86::MUL8m
, TB_FOLDED_LOAD
},
318 { X86::PEXTRDrr
, X86::PEXTRDmr
, TB_FOLDED_STORE
},
319 { X86::PEXTRQrr
, X86::PEXTRQmr
, TB_FOLDED_STORE
},
320 { X86::PTWRITE64r
, X86::PTWRITE64m
, TB_FOLDED_LOAD
},
321 { X86::PTWRITEr
, X86::PTWRITEm
, TB_FOLDED_LOAD
},
322 { X86::PUSH16r
, X86::PUSH16rmm
, TB_FOLDED_LOAD
},
323 { X86::PUSH32r
, X86::PUSH32rmm
, TB_FOLDED_LOAD
},
324 { X86::PUSH64r
, X86::PUSH64rmm
, TB_FOLDED_LOAD
},
325 { X86::SETCCr
, X86::SETCCm
, TB_FOLDED_STORE
},
326 { X86::TAILJMPr
, X86::TAILJMPm
, TB_FOLDED_LOAD
},
327 { X86::TAILJMPr64
, X86::TAILJMPm64
, TB_FOLDED_LOAD
},
328 { X86::TAILJMPr64_REX
, X86::TAILJMPm64_REX
, TB_FOLDED_LOAD
},
329 { X86::TCRETURNri
, X86::TCRETURNmi
, TB_FOLDED_LOAD
| TB_NO_FORWARD
},
330 { X86::TCRETURNri64
, X86::TCRETURNmi64
, TB_FOLDED_LOAD
| TB_NO_FORWARD
},
331 { X86::TEST16ri
, X86::TEST16mi
, TB_FOLDED_LOAD
},
332 { X86::TEST16rr
, X86::TEST16mr
, TB_FOLDED_LOAD
},
333 { X86::TEST32ri
, X86::TEST32mi
, TB_FOLDED_LOAD
},
334 { X86::TEST32rr
, X86::TEST32mr
, TB_FOLDED_LOAD
},
335 { X86::TEST64ri32
, X86::TEST64mi32
, TB_FOLDED_LOAD
},
336 { X86::TEST64rr
, X86::TEST64mr
, TB_FOLDED_LOAD
},
337 { X86::TEST8ri
, X86::TEST8mi
, TB_FOLDED_LOAD
},
338 { X86::TEST8rr
, X86::TEST8mr
, TB_FOLDED_LOAD
},
339 { X86::VCVTPS2PHYrr
, X86::VCVTPS2PHYmr
, TB_FOLDED_STORE
},
340 { X86::VCVTPS2PHZ256rr
, X86::VCVTPS2PHZ256mr
, TB_FOLDED_STORE
},
341 { X86::VCVTPS2PHZrr
, X86::VCVTPS2PHZmr
, TB_FOLDED_STORE
},
342 { X86::VEXTRACTF128rr
, X86::VEXTRACTF128mr
, TB_FOLDED_STORE
},
343 { X86::VEXTRACTF32x4Z256rr
, X86::VEXTRACTF32x4Z256mr
, TB_FOLDED_STORE
},
344 { X86::VEXTRACTF32x4Zrr
, X86::VEXTRACTF32x4Zmr
, TB_FOLDED_STORE
},
345 { X86::VEXTRACTF32x8Zrr
, X86::VEXTRACTF32x8Zmr
, TB_FOLDED_STORE
},
346 { X86::VEXTRACTF64x2Z256rr
, X86::VEXTRACTF64x2Z256mr
, TB_FOLDED_STORE
},
347 { X86::VEXTRACTF64x2Zrr
, X86::VEXTRACTF64x2Zmr
, TB_FOLDED_STORE
},
348 { X86::VEXTRACTF64x4Zrr
, X86::VEXTRACTF64x4Zmr
, TB_FOLDED_STORE
},
349 { X86::VEXTRACTI128rr
, X86::VEXTRACTI128mr
, TB_FOLDED_STORE
},
350 { X86::VEXTRACTI32x4Z256rr
, X86::VEXTRACTI32x4Z256mr
, TB_FOLDED_STORE
},
351 { X86::VEXTRACTI32x4Zrr
, X86::VEXTRACTI32x4Zmr
, TB_FOLDED_STORE
},
352 { X86::VEXTRACTI32x8Zrr
, X86::VEXTRACTI32x8Zmr
, TB_FOLDED_STORE
},
353 { X86::VEXTRACTI64x2Z256rr
, X86::VEXTRACTI64x2Z256mr
, TB_FOLDED_STORE
},
354 { X86::VEXTRACTI64x2Zrr
, X86::VEXTRACTI64x2Zmr
, TB_FOLDED_STORE
},
355 { X86::VEXTRACTI64x4Zrr
, X86::VEXTRACTI64x4Zmr
, TB_FOLDED_STORE
},
356 { X86::VEXTRACTPSZrr
, X86::VEXTRACTPSZmr
, TB_FOLDED_STORE
},
357 { X86::VEXTRACTPSrr
, X86::VEXTRACTPSmr
, TB_FOLDED_STORE
},
358 { X86::VMOVAPDYrr
, X86::VMOVAPDYmr
, TB_FOLDED_STORE
| TB_ALIGN_32
},
359 { X86::VMOVAPDZ128rr
, X86::VMOVAPDZ128mr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
360 { X86::VMOVAPDZ256rr
, X86::VMOVAPDZ256mr
, TB_FOLDED_STORE
| TB_ALIGN_32
},
361 { X86::VMOVAPDZrr
, X86::VMOVAPDZmr
, TB_FOLDED_STORE
| TB_ALIGN_64
},
362 { X86::VMOVAPDrr
, X86::VMOVAPDmr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
363 { X86::VMOVAPSYrr
, X86::VMOVAPSYmr
, TB_FOLDED_STORE
| TB_ALIGN_32
},
364 { X86::VMOVAPSZ128rr
, X86::VMOVAPSZ128mr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
365 { X86::VMOVAPSZ256rr
, X86::VMOVAPSZ256mr
, TB_FOLDED_STORE
| TB_ALIGN_32
},
366 { X86::VMOVAPSZrr
, X86::VMOVAPSZmr
, TB_FOLDED_STORE
| TB_ALIGN_64
},
367 { X86::VMOVAPSrr
, X86::VMOVAPSmr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
368 { X86::VMOVDQA32Z128rr
, X86::VMOVDQA32Z128mr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
369 { X86::VMOVDQA32Z256rr
, X86::VMOVDQA32Z256mr
, TB_FOLDED_STORE
| TB_ALIGN_32
},
370 { X86::VMOVDQA32Zrr
, X86::VMOVDQA32Zmr
, TB_FOLDED_STORE
| TB_ALIGN_64
},
371 { X86::VMOVDQA64Z128rr
, X86::VMOVDQA64Z128mr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
372 { X86::VMOVDQA64Z256rr
, X86::VMOVDQA64Z256mr
, TB_FOLDED_STORE
| TB_ALIGN_32
},
373 { X86::VMOVDQA64Zrr
, X86::VMOVDQA64Zmr
, TB_FOLDED_STORE
| TB_ALIGN_64
},
374 { X86::VMOVDQAYrr
, X86::VMOVDQAYmr
, TB_FOLDED_STORE
| TB_ALIGN_32
},
375 { X86::VMOVDQArr
, X86::VMOVDQAmr
, TB_FOLDED_STORE
| TB_ALIGN_16
},
376 { X86::VMOVDQU16Z128rr
, X86::VMOVDQU16Z128mr
, TB_FOLDED_STORE
},
377 { X86::VMOVDQU16Z256rr
, X86::VMOVDQU16Z256mr
, TB_FOLDED_STORE
},
378 { X86::VMOVDQU16Zrr
, X86::VMOVDQU16Zmr
, TB_FOLDED_STORE
},
379 { X86::VMOVDQU32Z128rr
, X86::VMOVDQU32Z128mr
, TB_FOLDED_STORE
},
380 { X86::VMOVDQU32Z256rr
, X86::VMOVDQU32Z256mr
, TB_FOLDED_STORE
},
381 { X86::VMOVDQU32Zrr
, X86::VMOVDQU32Zmr
, TB_FOLDED_STORE
},
382 { X86::VMOVDQU64Z128rr
, X86::VMOVDQU64Z128mr
, TB_FOLDED_STORE
},
383 { X86::VMOVDQU64Z256rr
, X86::VMOVDQU64Z256mr
, TB_FOLDED_STORE
},
384 { X86::VMOVDQU64Zrr
, X86::VMOVDQU64Zmr
, TB_FOLDED_STORE
},
385 { X86::VMOVDQU8Z128rr
, X86::VMOVDQU8Z128mr
, TB_FOLDED_STORE
},
386 { X86::VMOVDQU8Z256rr
, X86::VMOVDQU8Z256mr
, TB_FOLDED_STORE
},
387 { X86::VMOVDQU8Zrr
, X86::VMOVDQU8Zmr
, TB_FOLDED_STORE
},
388 { X86::VMOVDQUYrr
, X86::VMOVDQUYmr
, TB_FOLDED_STORE
},
389 { X86::VMOVDQUrr
, X86::VMOVDQUmr
, TB_FOLDED_STORE
},
390 { X86::VMOVPDI2DIZrr
, X86::VMOVPDI2DIZmr
, TB_FOLDED_STORE
},
391 { X86::VMOVPDI2DIrr
, X86::VMOVPDI2DImr
, TB_FOLDED_STORE
},
392 { X86::VMOVPQIto64Zrr
, X86::VMOVPQI2QIZmr
, TB_FOLDED_STORE
| TB_NO_REVERSE
},
393 { X86::VMOVPQIto64rr
, X86::VMOVPQI2QImr
, TB_FOLDED_STORE
| TB_NO_REVERSE
},
394 { X86::VMOVSDto64Zrr
, X86::VMOVSDZmr
, TB_FOLDED_STORE
| TB_NO_REVERSE
},
395 { X86::VMOVSDto64rr
, X86::VMOVSDmr
, TB_FOLDED_STORE
| TB_NO_REVERSE
},
396 { X86::VMOVSS2DIZrr
, X86::VMOVSSZmr
, TB_FOLDED_STORE
},
397 { X86::VMOVSS2DIrr
, X86::VMOVSSmr
, TB_FOLDED_STORE
},
398 { X86::VMOVUPDYrr
, X86::VMOVUPDYmr
, TB_FOLDED_STORE
},
399 { X86::VMOVUPDZ128rr
, X86::VMOVUPDZ128mr
, TB_FOLDED_STORE
},
400 { X86::VMOVUPDZ256rr
, X86::VMOVUPDZ256mr
, TB_FOLDED_STORE
},
401 { X86::VMOVUPDZrr
, X86::VMOVUPDZmr
, TB_FOLDED_STORE
},
402 { X86::VMOVUPDrr
, X86::VMOVUPDmr
, TB_FOLDED_STORE
},
403 { X86::VMOVUPSYrr
, X86::VMOVUPSYmr
, TB_FOLDED_STORE
},
404 { X86::VMOVUPSZ128rr
, X86::VMOVUPSZ128mr
, TB_FOLDED_STORE
},
405 { X86::VMOVUPSZ256rr
, X86::VMOVUPSZ256mr
, TB_FOLDED_STORE
},
406 { X86::VMOVUPSZrr
, X86::VMOVUPSZmr
, TB_FOLDED_STORE
},
407 { X86::VMOVUPSrr
, X86::VMOVUPSmr
, TB_FOLDED_STORE
},
408 { X86::VPEXTRDZrr
, X86::VPEXTRDZmr
, TB_FOLDED_STORE
},
409 { X86::VPEXTRDrr
, X86::VPEXTRDmr
, TB_FOLDED_STORE
},
410 { X86::VPEXTRQZrr
, X86::VPEXTRQZmr
, TB_FOLDED_STORE
},
411 { X86::VPEXTRQrr
, X86::VPEXTRQmr
, TB_FOLDED_STORE
},
412 { X86::VPMOVDBZrr
, X86::VPMOVDBZmr
, TB_FOLDED_STORE
},
413 { X86::VPMOVDWZ256rr
, X86::VPMOVDWZ256mr
, TB_FOLDED_STORE
},
414 { X86::VPMOVDWZrr
, X86::VPMOVDWZmr
, TB_FOLDED_STORE
},
415 { X86::VPMOVQDZ256rr
, X86::VPMOVQDZ256mr
, TB_FOLDED_STORE
},
416 { X86::VPMOVQDZrr
, X86::VPMOVQDZmr
, TB_FOLDED_STORE
},
417 { X86::VPMOVQWZrr
, X86::VPMOVQWZmr
, TB_FOLDED_STORE
},
418 { X86::VPMOVSDBZrr
, X86::VPMOVSDBZmr
, TB_FOLDED_STORE
},
419 { X86::VPMOVSDWZ256rr
, X86::VPMOVSDWZ256mr
, TB_FOLDED_STORE
},
420 { X86::VPMOVSDWZrr
, X86::VPMOVSDWZmr
, TB_FOLDED_STORE
},
421 { X86::VPMOVSQDZ256rr
, X86::VPMOVSQDZ256mr
, TB_FOLDED_STORE
},
422 { X86::VPMOVSQDZrr
, X86::VPMOVSQDZmr
, TB_FOLDED_STORE
},
423 { X86::VPMOVSQWZrr
, X86::VPMOVSQWZmr
, TB_FOLDED_STORE
},
424 { X86::VPMOVSWBZ256rr
, X86::VPMOVSWBZ256mr
, TB_FOLDED_STORE
},
425 { X86::VPMOVSWBZrr
, X86::VPMOVSWBZmr
, TB_FOLDED_STORE
},
426 { X86::VPMOVUSDBZrr
, X86::VPMOVUSDBZmr
, TB_FOLDED_STORE
},
427 { X86::VPMOVUSDWZ256rr
, X86::VPMOVUSDWZ256mr
, TB_FOLDED_STORE
},
428 { X86::VPMOVUSDWZrr
, X86::VPMOVUSDWZmr
, TB_FOLDED_STORE
},
429 { X86::VPMOVUSQDZ256rr
, X86::VPMOVUSQDZ256mr
, TB_FOLDED_STORE
},
430 { X86::VPMOVUSQDZrr
, X86::VPMOVUSQDZmr
, TB_FOLDED_STORE
},
431 { X86::VPMOVUSQWZrr
, X86::VPMOVUSQWZmr
, TB_FOLDED_STORE
},
432 { X86::VPMOVUSWBZ256rr
, X86::VPMOVUSWBZ256mr
, TB_FOLDED_STORE
},
433 { X86::VPMOVUSWBZrr
, X86::VPMOVUSWBZmr
, TB_FOLDED_STORE
},
434 { X86::VPMOVWBZ256rr
, X86::VPMOVWBZ256mr
, TB_FOLDED_STORE
},
435 { X86::VPMOVWBZrr
, X86::VPMOVWBZmr
, TB_FOLDED_STORE
},
438 static const X86MemoryFoldTableEntry MemoryFoldTable1
[] = {
439 { X86::AESIMCrr
, X86::AESIMCrm
, TB_ALIGN_16
},
440 { X86::AESKEYGENASSIST128rr
, X86::AESKEYGENASSIST128rm
, TB_ALIGN_16
},
441 { X86::BEXTR32rr
, X86::BEXTR32rm
, 0 },
442 { X86::BEXTR64rr
, X86::BEXTR64rm
, 0 },
443 { X86::BEXTRI32ri
, X86::BEXTRI32mi
, 0 },
444 { X86::BEXTRI64ri
, X86::BEXTRI64mi
, 0 },
445 { X86::BLCFILL32rr
, X86::BLCFILL32rm
, 0 },
446 { X86::BLCFILL64rr
, X86::BLCFILL64rm
, 0 },
447 { X86::BLCI32rr
, X86::BLCI32rm
, 0 },
448 { X86::BLCI64rr
, X86::BLCI64rm
, 0 },
449 { X86::BLCIC32rr
, X86::BLCIC32rm
, 0 },
450 { X86::BLCIC64rr
, X86::BLCIC64rm
, 0 },
451 { X86::BLCMSK32rr
, X86::BLCMSK32rm
, 0 },
452 { X86::BLCMSK64rr
, X86::BLCMSK64rm
, 0 },
453 { X86::BLCS32rr
, X86::BLCS32rm
, 0 },
454 { X86::BLCS64rr
, X86::BLCS64rm
, 0 },
455 { X86::BLSFILL32rr
, X86::BLSFILL32rm
, 0 },
456 { X86::BLSFILL64rr
, X86::BLSFILL64rm
, 0 },
457 { X86::BLSI32rr
, X86::BLSI32rm
, 0 },
458 { X86::BLSI64rr
, X86::BLSI64rm
, 0 },
459 { X86::BLSIC32rr
, X86::BLSIC32rm
, 0 },
460 { X86::BLSIC64rr
, X86::BLSIC64rm
, 0 },
461 { X86::BLSMSK32rr
, X86::BLSMSK32rm
, 0 },
462 { X86::BLSMSK64rr
, X86::BLSMSK64rm
, 0 },
463 { X86::BLSR32rr
, X86::BLSR32rm
, 0 },
464 { X86::BLSR64rr
, X86::BLSR64rm
, 0 },
465 { X86::BSF16rr
, X86::BSF16rm
, 0 },
466 { X86::BSF32rr
, X86::BSF32rm
, 0 },
467 { X86::BSF64rr
, X86::BSF64rm
, 0 },
468 { X86::BSR16rr
, X86::BSR16rm
, 0 },
469 { X86::BSR32rr
, X86::BSR32rm
, 0 },
470 { X86::BSR64rr
, X86::BSR64rm
, 0 },
471 { X86::BZHI32rr
, X86::BZHI32rm
, 0 },
472 { X86::BZHI64rr
, X86::BZHI64rm
, 0 },
473 { X86::CMP16rr
, X86::CMP16rm
, 0 },
474 { X86::CMP32rr
, X86::CMP32rm
, 0 },
475 { X86::CMP64rr
, X86::CMP64rm
, 0 },
476 { X86::CMP8rr
, X86::CMP8rm
, 0 },
477 { X86::COMISDrr
, X86::COMISDrm
, 0 },
478 { X86::COMISDrr_Int
, X86::COMISDrm_Int
, TB_NO_REVERSE
},
479 { X86::COMISSrr
, X86::COMISSrm
, 0 },
480 { X86::COMISSrr_Int
, X86::COMISSrm_Int
, TB_NO_REVERSE
},
481 { X86::CVTDQ2PDrr
, X86::CVTDQ2PDrm
, TB_NO_REVERSE
},
482 { X86::CVTDQ2PSrr
, X86::CVTDQ2PSrm
, TB_ALIGN_16
},
483 { X86::CVTPD2DQrr
, X86::CVTPD2DQrm
, TB_ALIGN_16
},
484 { X86::CVTPD2PSrr
, X86::CVTPD2PSrm
, TB_ALIGN_16
},
485 { X86::CVTPS2DQrr
, X86::CVTPS2DQrm
, TB_ALIGN_16
},
486 { X86::CVTPS2PDrr
, X86::CVTPS2PDrm
, TB_NO_REVERSE
},
487 { X86::CVTSD2SI64rr_Int
, X86::CVTSD2SI64rm_Int
, TB_NO_REVERSE
},
488 { X86::CVTSD2SIrr_Int
, X86::CVTSD2SIrm_Int
, TB_NO_REVERSE
},
489 { X86::CVTSD2SSrr
, X86::CVTSD2SSrm
, 0 },
490 { X86::CVTSI2SDrr
, X86::CVTSI2SDrm
, 0 },
491 { X86::CVTSI2SSrr
, X86::CVTSI2SSrm
, 0 },
492 { X86::CVTSI642SDrr
, X86::CVTSI642SDrm
, 0 },
493 { X86::CVTSI642SSrr
, X86::CVTSI642SSrm
, 0 },
494 { X86::CVTSS2SDrr
, X86::CVTSS2SDrm
, 0 },
495 { X86::CVTSS2SI64rr_Int
, X86::CVTSS2SI64rm_Int
, TB_NO_REVERSE
},
496 { X86::CVTSS2SIrr_Int
, X86::CVTSS2SIrm_Int
, TB_NO_REVERSE
},
497 { X86::CVTTPD2DQrr
, X86::CVTTPD2DQrm
, TB_ALIGN_16
},
498 { X86::CVTTPS2DQrr
, X86::CVTTPS2DQrm
, TB_ALIGN_16
},
499 { X86::CVTTSD2SI64rr
, X86::CVTTSD2SI64rm
, 0 },
500 { X86::CVTTSD2SI64rr_Int
, X86::CVTTSD2SI64rm_Int
, TB_NO_REVERSE
},
501 { X86::CVTTSD2SIrr
, X86::CVTTSD2SIrm
, 0 },
502 { X86::CVTTSD2SIrr_Int
, X86::CVTTSD2SIrm_Int
, TB_NO_REVERSE
},
503 { X86::CVTTSS2SI64rr
, X86::CVTTSS2SI64rm
, 0 },
504 { X86::CVTTSS2SI64rr_Int
, X86::CVTTSS2SI64rm_Int
, TB_NO_REVERSE
},
505 { X86::CVTTSS2SIrr
, X86::CVTTSS2SIrm
, 0 },
506 { X86::CVTTSS2SIrr_Int
, X86::CVTTSS2SIrm_Int
, TB_NO_REVERSE
},
507 { X86::IMUL16rri
, X86::IMUL16rmi
, 0 },
508 { X86::IMUL16rri8
, X86::IMUL16rmi8
, 0 },
509 { X86::IMUL32rri
, X86::IMUL32rmi
, 0 },
510 { X86::IMUL32rri8
, X86::IMUL32rmi8
, 0 },
511 { X86::IMUL64rri32
, X86::IMUL64rmi32
, 0 },
512 { X86::IMUL64rri8
, X86::IMUL64rmi8
, 0 },
513 { X86::LWPINS32rri
, X86::LWPINS32rmi
, 0 },
514 { X86::LWPINS64rri
, X86::LWPINS64rmi
, 0 },
515 { X86::LWPVAL32rri
, X86::LWPVAL32rmi
, 0 },
516 { X86::LWPVAL64rri
, X86::LWPVAL64rmi
, 0 },
517 { X86::LZCNT16rr
, X86::LZCNT16rm
, 0 },
518 { X86::LZCNT32rr
, X86::LZCNT32rm
, 0 },
519 { X86::LZCNT64rr
, X86::LZCNT64rm
, 0 },
520 { X86::MMX_CVTPD2PIirr
, X86::MMX_CVTPD2PIirm
, TB_ALIGN_16
},
521 { X86::MMX_CVTPI2PDirr
, X86::MMX_CVTPI2PDirm
, 0 },
522 { X86::MMX_CVTPS2PIirr
, X86::MMX_CVTPS2PIirm
, TB_NO_REVERSE
},
523 { X86::MMX_CVTTPD2PIirr
, X86::MMX_CVTTPD2PIirm
, TB_ALIGN_16
},
524 { X86::MMX_CVTTPS2PIirr
, X86::MMX_CVTTPS2PIirm
, TB_NO_REVERSE
},
525 { X86::MMX_MOVD64to64rr
, X86::MMX_MOVQ64rm
, 0 },
526 { X86::MMX_PABSBrr
, X86::MMX_PABSBrm
, 0 },
527 { X86::MMX_PABSDrr
, X86::MMX_PABSDrm
, 0 },
528 { X86::MMX_PABSWrr
, X86::MMX_PABSWrm
, 0 },
529 { X86::MMX_PSHUFWri
, X86::MMX_PSHUFWmi
, 0 },
530 { X86::MOV16rr
, X86::MOV16rm
, 0 },
531 { X86::MOV32rr
, X86::MOV32rm
, 0 },
532 { X86::MOV64rr
, X86::MOV64rm
, 0 },
533 { X86::MOV64toPQIrr
, X86::MOVQI2PQIrm
, TB_NO_REVERSE
},
534 { X86::MOV64toSDrr
, X86::MOVSDrm_alt
, TB_NO_REVERSE
},
535 { X86::MOV8rr
, X86::MOV8rm
, 0 },
536 { X86::MOVAPDrr
, X86::MOVAPDrm
, TB_ALIGN_16
},
537 { X86::MOVAPSrr
, X86::MOVAPSrm
, TB_ALIGN_16
},
538 { X86::MOVDDUPrr
, X86::MOVDDUPrm
, TB_NO_REVERSE
},
539 { X86::MOVDI2PDIrr
, X86::MOVDI2PDIrm
, 0 },
540 { X86::MOVDI2SSrr
, X86::MOVSSrm_alt
, 0 },
541 { X86::MOVDQArr
, X86::MOVDQArm
, TB_ALIGN_16
},
542 { X86::MOVDQUrr
, X86::MOVDQUrm
, 0 },
543 { X86::MOVSHDUPrr
, X86::MOVSHDUPrm
, TB_ALIGN_16
},
544 { X86::MOVSLDUPrr
, X86::MOVSLDUPrm
, TB_ALIGN_16
},
545 { X86::MOVSX16rr8
, X86::MOVSX16rm8
, 0 },
546 { X86::MOVSX32rr16
, X86::MOVSX32rm16
, 0 },
547 { X86::MOVSX32rr8
, X86::MOVSX32rm8
, 0 },
548 { X86::MOVSX32rr8_NOREX
, X86::MOVSX32rm8_NOREX
, 0 },
549 { X86::MOVSX64rr16
, X86::MOVSX64rm16
, 0 },
550 { X86::MOVSX64rr32
, X86::MOVSX64rm32
, 0 },
551 { X86::MOVSX64rr8
, X86::MOVSX64rm8
, 0 },
552 { X86::MOVUPDrr
, X86::MOVUPDrm
, 0 },
553 { X86::MOVUPSrr
, X86::MOVUPSrm
, 0 },
554 { X86::MOVZPQILo2PQIrr
, X86::MOVQI2PQIrm
, TB_NO_REVERSE
},
555 { X86::MOVZX16rr8
, X86::MOVZX16rm8
, 0 },
556 { X86::MOVZX32rr16
, X86::MOVZX32rm16
, 0 },
557 { X86::MOVZX32rr8
, X86::MOVZX32rm8
, 0 },
558 { X86::MOVZX32rr8_NOREX
, X86::MOVZX32rm8_NOREX
, 0 },
559 { X86::MOVZX64rr16
, X86::MOVZX64rm16
, 0 },
560 { X86::MOVZX64rr8
, X86::MOVZX64rm8
, 0 },
561 { X86::PABSBrr
, X86::PABSBrm
, TB_ALIGN_16
},
562 { X86::PABSDrr
, X86::PABSDrm
, TB_ALIGN_16
},
563 { X86::PABSWrr
, X86::PABSWrm
, TB_ALIGN_16
},
564 { X86::PCMPESTRIrr
, X86::PCMPESTRIrm
, 0 },
565 { X86::PCMPESTRMrr
, X86::PCMPESTRMrm
, 0 },
566 { X86::PCMPISTRIrr
, X86::PCMPISTRIrm
, 0 },
567 { X86::PCMPISTRMrr
, X86::PCMPISTRMrm
, 0 },
568 { X86::PF2IDrr
, X86::PF2IDrm
, 0 },
569 { X86::PF2IWrr
, X86::PF2IWrm
, 0 },
570 { X86::PFRCPrr
, X86::PFRCPrm
, 0 },
571 { X86::PFRSQRTrr
, X86::PFRSQRTrm
, 0 },
572 { X86::PHMINPOSUWrr
, X86::PHMINPOSUWrm
, TB_ALIGN_16
},
573 { X86::PI2FDrr
, X86::PI2FDrm
, 0 },
574 { X86::PI2FWrr
, X86::PI2FWrm
, 0 },
575 { X86::PMOVSXBDrr
, X86::PMOVSXBDrm
, TB_NO_REVERSE
},
576 { X86::PMOVSXBQrr
, X86::PMOVSXBQrm
, TB_NO_REVERSE
},
577 { X86::PMOVSXBWrr
, X86::PMOVSXBWrm
, TB_NO_REVERSE
},
578 { X86::PMOVSXDQrr
, X86::PMOVSXDQrm
, TB_NO_REVERSE
},
579 { X86::PMOVSXWDrr
, X86::PMOVSXWDrm
, TB_NO_REVERSE
},
580 { X86::PMOVSXWQrr
, X86::PMOVSXWQrm
, TB_NO_REVERSE
},
581 { X86::PMOVZXBDrr
, X86::PMOVZXBDrm
, TB_NO_REVERSE
},
582 { X86::PMOVZXBQrr
, X86::PMOVZXBQrm
, TB_NO_REVERSE
},
583 { X86::PMOVZXBWrr
, X86::PMOVZXBWrm
, TB_NO_REVERSE
},
584 { X86::PMOVZXDQrr
, X86::PMOVZXDQrm
, TB_NO_REVERSE
},
585 { X86::PMOVZXWDrr
, X86::PMOVZXWDrm
, TB_NO_REVERSE
},
586 { X86::PMOVZXWQrr
, X86::PMOVZXWQrm
, TB_NO_REVERSE
},
587 { X86::POPCNT16rr
, X86::POPCNT16rm
, 0 },
588 { X86::POPCNT32rr
, X86::POPCNT32rm
, 0 },
589 { X86::POPCNT64rr
, X86::POPCNT64rm
, 0 },
590 { X86::PSHUFDri
, X86::PSHUFDmi
, TB_ALIGN_16
},
591 { X86::PSHUFHWri
, X86::PSHUFHWmi
, TB_ALIGN_16
},
592 { X86::PSHUFLWri
, X86::PSHUFLWmi
, TB_ALIGN_16
},
593 { X86::PSWAPDrr
, X86::PSWAPDrm
, 0 },
594 { X86::PTESTrr
, X86::PTESTrm
, TB_ALIGN_16
},
595 { X86::RCPPSr
, X86::RCPPSm
, TB_ALIGN_16
},
596 { X86::RCPSSr
, X86::RCPSSm
, 0 },
597 { X86::RORX32ri
, X86::RORX32mi
, 0 },
598 { X86::RORX64ri
, X86::RORX64mi
, 0 },
599 { X86::ROUNDPDr
, X86::ROUNDPDm
, TB_ALIGN_16
},
600 { X86::ROUNDPSr
, X86::ROUNDPSm
, TB_ALIGN_16
},
601 { X86::ROUNDSDr
, X86::ROUNDSDm
, 0 },
602 { X86::ROUNDSSr
, X86::ROUNDSSm
, 0 },
603 { X86::RSQRTPSr
, X86::RSQRTPSm
, TB_ALIGN_16
},
604 { X86::RSQRTSSr
, X86::RSQRTSSm
, 0 },
605 { X86::SARX32rr
, X86::SARX32rm
, 0 },
606 { X86::SARX64rr
, X86::SARX64rm
, 0 },
607 { X86::SHLX32rr
, X86::SHLX32rm
, 0 },
608 { X86::SHLX64rr
, X86::SHLX64rm
, 0 },
609 { X86::SHRX32rr
, X86::SHRX32rm
, 0 },
610 { X86::SHRX64rr
, X86::SHRX64rm
, 0 },
611 { X86::SQRTPDr
, X86::SQRTPDm
, TB_ALIGN_16
},
612 { X86::SQRTPSr
, X86::SQRTPSm
, TB_ALIGN_16
},
613 { X86::SQRTSDr
, X86::SQRTSDm
, 0 },
614 { X86::SQRTSSr
, X86::SQRTSSm
, 0 },
615 { X86::T1MSKC32rr
, X86::T1MSKC32rm
, 0 },
616 { X86::T1MSKC64rr
, X86::T1MSKC64rm
, 0 },
617 { X86::TZCNT16rr
, X86::TZCNT16rm
, 0 },
618 { X86::TZCNT32rr
, X86::TZCNT32rm
, 0 },
619 { X86::TZCNT64rr
, X86::TZCNT64rm
, 0 },
620 { X86::TZMSK32rr
, X86::TZMSK32rm
, 0 },
621 { X86::TZMSK64rr
, X86::TZMSK64rm
, 0 },
622 { X86::UCOMISDrr
, X86::UCOMISDrm
, 0 },
623 { X86::UCOMISDrr_Int
, X86::UCOMISDrm_Int
, TB_NO_REVERSE
},
624 { X86::UCOMISSrr
, X86::UCOMISSrm
, 0 },
625 { X86::UCOMISSrr_Int
, X86::UCOMISSrm_Int
, TB_NO_REVERSE
},
626 { X86::VAESIMCrr
, X86::VAESIMCrm
, 0 },
627 { X86::VAESKEYGENASSIST128rr
,X86::VAESKEYGENASSIST128rm
,0 },
628 { X86::VBROADCASTF32X2Z256r
, X86::VBROADCASTF32X2Z256m
, TB_NO_REVERSE
},
629 { X86::VBROADCASTF32X2Zr
, X86::VBROADCASTF32X2Zm
, TB_NO_REVERSE
},
630 { X86::VBROADCASTI32X2Z128r
, X86::VBROADCASTI32X2Z128m
, TB_NO_REVERSE
},
631 { X86::VBROADCASTI32X2Z256r
, X86::VBROADCASTI32X2Z256m
, TB_NO_REVERSE
},
632 { X86::VBROADCASTI32X2Zr
, X86::VBROADCASTI32X2Zm
, TB_NO_REVERSE
},
633 { X86::VBROADCASTSDYrr
, X86::VBROADCASTSDYrm
, TB_NO_REVERSE
},
634 { X86::VBROADCASTSDZ256r
, X86::VBROADCASTSDZ256m
, TB_NO_REVERSE
},
635 { X86::VBROADCASTSDZr
, X86::VBROADCASTSDZm
, TB_NO_REVERSE
},
636 { X86::VBROADCASTSSYrr
, X86::VBROADCASTSSYrm
, TB_NO_REVERSE
},
637 { X86::VBROADCASTSSZ128r
, X86::VBROADCASTSSZ128m
, TB_NO_REVERSE
},
638 { X86::VBROADCASTSSZ256r
, X86::VBROADCASTSSZ256m
, TB_NO_REVERSE
},
639 { X86::VBROADCASTSSZr
, X86::VBROADCASTSSZm
, TB_NO_REVERSE
},
640 { X86::VBROADCASTSSrr
, X86::VBROADCASTSSrm
, TB_NO_REVERSE
},
641 { X86::VCOMISDZrr
, X86::VCOMISDZrm
, 0 },
642 { X86::VCOMISDZrr_Int
, X86::VCOMISDZrm_Int
, TB_NO_REVERSE
},
643 { X86::VCOMISDrr
, X86::VCOMISDrm
, 0 },
644 { X86::VCOMISDrr_Int
, X86::VCOMISDrm_Int
, TB_NO_REVERSE
},
645 { X86::VCOMISSZrr
, X86::VCOMISSZrm
, 0 },
646 { X86::VCOMISSZrr_Int
, X86::VCOMISSZrm_Int
, TB_NO_REVERSE
},
647 { X86::VCOMISSrr
, X86::VCOMISSrm
, 0 },
648 { X86::VCOMISSrr_Int
, X86::VCOMISSrm_Int
, TB_NO_REVERSE
},
649 { X86::VCVTDQ2PDYrr
, X86::VCVTDQ2PDYrm
, 0 },
650 { X86::VCVTDQ2PDZ128rr
, X86::VCVTDQ2PDZ128rm
, TB_NO_REVERSE
},
651 { X86::VCVTDQ2PDZ256rr
, X86::VCVTDQ2PDZ256rm
, 0 },
652 { X86::VCVTDQ2PDZrr
, X86::VCVTDQ2PDZrm
, 0 },
653 { X86::VCVTDQ2PDrr
, X86::VCVTDQ2PDrm
, TB_NO_REVERSE
},
654 { X86::VCVTDQ2PSYrr
, X86::VCVTDQ2PSYrm
, 0 },
655 { X86::VCVTDQ2PSZ128rr
, X86::VCVTDQ2PSZ128rm
, 0 },
656 { X86::VCVTDQ2PSZ256rr
, X86::VCVTDQ2PSZ256rm
, 0 },
657 { X86::VCVTDQ2PSZrr
, X86::VCVTDQ2PSZrm
, 0 },
658 { X86::VCVTDQ2PSrr
, X86::VCVTDQ2PSrm
, 0 },
659 { X86::VCVTNEPS2BF16Z128rr
, X86::VCVTNEPS2BF16Z128rm
, 0 },
660 { X86::VCVTNEPS2BF16Z256rr
, X86::VCVTNEPS2BF16Z256rm
, 0 },
661 { X86::VCVTNEPS2BF16Zrr
, X86::VCVTNEPS2BF16Zrm
, 0 },
662 { X86::VCVTPD2DQYrr
, X86::VCVTPD2DQYrm
, 0 },
663 { X86::VCVTPD2DQZ128rr
, X86::VCVTPD2DQZ128rm
, 0 },
664 { X86::VCVTPD2DQZ256rr
, X86::VCVTPD2DQZ256rm
, 0 },
665 { X86::VCVTPD2DQZrr
, X86::VCVTPD2DQZrm
, 0 },
666 { X86::VCVTPD2DQrr
, X86::VCVTPD2DQrm
, 0 },
667 { X86::VCVTPD2PSYrr
, X86::VCVTPD2PSYrm
, 0 },
668 { X86::VCVTPD2PSZ128rr
, X86::VCVTPD2PSZ128rm
, 0 },
669 { X86::VCVTPD2PSZ256rr
, X86::VCVTPD2PSZ256rm
, 0 },
670 { X86::VCVTPD2PSZrr
, X86::VCVTPD2PSZrm
, 0 },
671 { X86::VCVTPD2PSrr
, X86::VCVTPD2PSrm
, 0 },
672 { X86::VCVTPD2QQZ128rr
, X86::VCVTPD2QQZ128rm
, 0 },
673 { X86::VCVTPD2QQZ256rr
, X86::VCVTPD2QQZ256rm
, 0 },
674 { X86::VCVTPD2QQZrr
, X86::VCVTPD2QQZrm
, 0 },
675 { X86::VCVTPD2UDQZ128rr
, X86::VCVTPD2UDQZ128rm
, 0 },
676 { X86::VCVTPD2UDQZ256rr
, X86::VCVTPD2UDQZ256rm
, 0 },
677 { X86::VCVTPD2UDQZrr
, X86::VCVTPD2UDQZrm
, 0 },
678 { X86::VCVTPD2UQQZ128rr
, X86::VCVTPD2UQQZ128rm
, 0 },
679 { X86::VCVTPD2UQQZ256rr
, X86::VCVTPD2UQQZ256rm
, 0 },
680 { X86::VCVTPD2UQQZrr
, X86::VCVTPD2UQQZrm
, 0 },
681 { X86::VCVTPH2PSYrr
, X86::VCVTPH2PSYrm
, 0 },
682 { X86::VCVTPH2PSZ128rr
, X86::VCVTPH2PSZ128rm
, TB_NO_REVERSE
},
683 { X86::VCVTPH2PSZ256rr
, X86::VCVTPH2PSZ256rm
, 0 },
684 { X86::VCVTPH2PSZrr
, X86::VCVTPH2PSZrm
, 0 },
685 { X86::VCVTPH2PSrr
, X86::VCVTPH2PSrm
, TB_NO_REVERSE
},
686 { X86::VCVTPS2DQYrr
, X86::VCVTPS2DQYrm
, 0 },
687 { X86::VCVTPS2DQZ128rr
, X86::VCVTPS2DQZ128rm
, 0 },
688 { X86::VCVTPS2DQZ256rr
, X86::VCVTPS2DQZ256rm
, 0 },
689 { X86::VCVTPS2DQZrr
, X86::VCVTPS2DQZrm
, 0 },
690 { X86::VCVTPS2DQrr
, X86::VCVTPS2DQrm
, 0 },
691 { X86::VCVTPS2PDYrr
, X86::VCVTPS2PDYrm
, 0 },
692 { X86::VCVTPS2PDZ128rr
, X86::VCVTPS2PDZ128rm
, TB_NO_REVERSE
},
693 { X86::VCVTPS2PDZ256rr
, X86::VCVTPS2PDZ256rm
, 0 },
694 { X86::VCVTPS2PDZrr
, X86::VCVTPS2PDZrm
, 0 },
695 { X86::VCVTPS2PDrr
, X86::VCVTPS2PDrm
, TB_NO_REVERSE
},
696 { X86::VCVTPS2QQZ128rr
, X86::VCVTPS2QQZ128rm
, TB_NO_REVERSE
},
697 { X86::VCVTPS2QQZ256rr
, X86::VCVTPS2QQZ256rm
, 0 },
698 { X86::VCVTPS2QQZrr
, X86::VCVTPS2QQZrm
, 0 },
699 { X86::VCVTPS2UDQZ128rr
, X86::VCVTPS2UDQZ128rm
, 0 },
700 { X86::VCVTPS2UDQZ256rr
, X86::VCVTPS2UDQZ256rm
, 0 },
701 { X86::VCVTPS2UDQZrr
, X86::VCVTPS2UDQZrm
, 0 },
702 { X86::VCVTPS2UQQZ128rr
, X86::VCVTPS2UQQZ128rm
, TB_NO_REVERSE
},
703 { X86::VCVTPS2UQQZ256rr
, X86::VCVTPS2UQQZ256rm
, 0 },
704 { X86::VCVTPS2UQQZrr
, X86::VCVTPS2UQQZrm
, 0 },
705 { X86::VCVTQQ2PDZ128rr
, X86::VCVTQQ2PDZ128rm
, 0 },
706 { X86::VCVTQQ2PDZ256rr
, X86::VCVTQQ2PDZ256rm
, 0 },
707 { X86::VCVTQQ2PDZrr
, X86::VCVTQQ2PDZrm
, 0 },
708 { X86::VCVTQQ2PSZ128rr
, X86::VCVTQQ2PSZ128rm
, 0 },
709 { X86::VCVTQQ2PSZ256rr
, X86::VCVTQQ2PSZ256rm
, 0 },
710 { X86::VCVTQQ2PSZrr
, X86::VCVTQQ2PSZrm
, 0 },
711 { X86::VCVTSD2SI64Zrr_Int
, X86::VCVTSD2SI64Zrm_Int
, TB_NO_REVERSE
},
712 { X86::VCVTSD2SI64rr_Int
, X86::VCVTSD2SI64rm_Int
, TB_NO_REVERSE
},
713 { X86::VCVTSD2SIZrr_Int
, X86::VCVTSD2SIZrm_Int
, TB_NO_REVERSE
},
714 { X86::VCVTSD2SIrr_Int
, X86::VCVTSD2SIrm_Int
, TB_NO_REVERSE
},
715 { X86::VCVTSD2USI64Zrr_Int
, X86::VCVTSD2USI64Zrm_Int
, TB_NO_REVERSE
},
716 { X86::VCVTSD2USIZrr_Int
, X86::VCVTSD2USIZrm_Int
, TB_NO_REVERSE
},
717 { X86::VCVTSS2SI64Zrr_Int
, X86::VCVTSS2SI64Zrm_Int
, TB_NO_REVERSE
},
718 { X86::VCVTSS2SI64rr_Int
, X86::VCVTSS2SI64rm_Int
, TB_NO_REVERSE
},
719 { X86::VCVTSS2SIZrr_Int
, X86::VCVTSS2SIZrm_Int
, TB_NO_REVERSE
},
720 { X86::VCVTSS2SIrr_Int
, X86::VCVTSS2SIrm_Int
, TB_NO_REVERSE
},
721 { X86::VCVTSS2USI64Zrr_Int
, X86::VCVTSS2USI64Zrm_Int
, TB_NO_REVERSE
},
722 { X86::VCVTSS2USIZrr_Int
, X86::VCVTSS2USIZrm_Int
, TB_NO_REVERSE
},
723 { X86::VCVTTPD2DQYrr
, X86::VCVTTPD2DQYrm
, 0 },
724 { X86::VCVTTPD2DQZ128rr
, X86::VCVTTPD2DQZ128rm
, 0 },
725 { X86::VCVTTPD2DQZ256rr
, X86::VCVTTPD2DQZ256rm
, 0 },
726 { X86::VCVTTPD2DQZrr
, X86::VCVTTPD2DQZrm
, 0 },
727 { X86::VCVTTPD2DQrr
, X86::VCVTTPD2DQrm
, 0 },
728 { X86::VCVTTPD2QQZ128rr
, X86::VCVTTPD2QQZ128rm
, 0 },
729 { X86::VCVTTPD2QQZ256rr
, X86::VCVTTPD2QQZ256rm
, 0 },
730 { X86::VCVTTPD2QQZrr
, X86::VCVTTPD2QQZrm
, 0 },
731 { X86::VCVTTPD2UDQZ128rr
, X86::VCVTTPD2UDQZ128rm
, 0 },
732 { X86::VCVTTPD2UDQZ256rr
, X86::VCVTTPD2UDQZ256rm
, 0 },
733 { X86::VCVTTPD2UDQZrr
, X86::VCVTTPD2UDQZrm
, 0 },
734 { X86::VCVTTPD2UQQZ128rr
, X86::VCVTTPD2UQQZ128rm
, 0 },
735 { X86::VCVTTPD2UQQZ256rr
, X86::VCVTTPD2UQQZ256rm
, 0 },
736 { X86::VCVTTPD2UQQZrr
, X86::VCVTTPD2UQQZrm
, 0 },
737 { X86::VCVTTPS2DQYrr
, X86::VCVTTPS2DQYrm
, 0 },
738 { X86::VCVTTPS2DQZ128rr
, X86::VCVTTPS2DQZ128rm
, 0 },
739 { X86::VCVTTPS2DQZ256rr
, X86::VCVTTPS2DQZ256rm
, 0 },
740 { X86::VCVTTPS2DQZrr
, X86::VCVTTPS2DQZrm
, 0 },
741 { X86::VCVTTPS2DQrr
, X86::VCVTTPS2DQrm
, 0 },
742 { X86::VCVTTPS2QQZ128rr
, X86::VCVTTPS2QQZ128rm
, TB_NO_REVERSE
},
743 { X86::VCVTTPS2QQZ256rr
, X86::VCVTTPS2QQZ256rm
, 0 },
744 { X86::VCVTTPS2QQZrr
, X86::VCVTTPS2QQZrm
, 0 },
745 { X86::VCVTTPS2UDQZ128rr
, X86::VCVTTPS2UDQZ128rm
, 0 },
746 { X86::VCVTTPS2UDQZ256rr
, X86::VCVTTPS2UDQZ256rm
, 0 },
747 { X86::VCVTTPS2UDQZrr
, X86::VCVTTPS2UDQZrm
, 0 },
748 { X86::VCVTTPS2UQQZ128rr
, X86::VCVTTPS2UQQZ128rm
, TB_NO_REVERSE
},
749 { X86::VCVTTPS2UQQZ256rr
, X86::VCVTTPS2UQQZ256rm
, 0 },
750 { X86::VCVTTPS2UQQZrr
, X86::VCVTTPS2UQQZrm
, 0 },
751 { X86::VCVTTSD2SI64Zrr
, X86::VCVTTSD2SI64Zrm
, 0 },
752 { X86::VCVTTSD2SI64Zrr_Int
, X86::VCVTTSD2SI64Zrm_Int
, TB_NO_REVERSE
},
753 { X86::VCVTTSD2SI64rr
, X86::VCVTTSD2SI64rm
, 0 },
754 { X86::VCVTTSD2SI64rr_Int
, X86::VCVTTSD2SI64rm_Int
, TB_NO_REVERSE
},
755 { X86::VCVTTSD2SIZrr
, X86::VCVTTSD2SIZrm
, 0 },
756 { X86::VCVTTSD2SIZrr_Int
, X86::VCVTTSD2SIZrm_Int
, TB_NO_REVERSE
},
757 { X86::VCVTTSD2SIrr
, X86::VCVTTSD2SIrm
, 0 },
758 { X86::VCVTTSD2SIrr_Int
, X86::VCVTTSD2SIrm_Int
, TB_NO_REVERSE
},
759 { X86::VCVTTSD2USI64Zrr
, X86::VCVTTSD2USI64Zrm
, 0 },
760 { X86::VCVTTSD2USI64Zrr_Int
, X86::VCVTTSD2USI64Zrm_Int
, TB_NO_REVERSE
},
761 { X86::VCVTTSD2USIZrr
, X86::VCVTTSD2USIZrm
, 0 },
762 { X86::VCVTTSD2USIZrr_Int
, X86::VCVTTSD2USIZrm_Int
, TB_NO_REVERSE
},
763 { X86::VCVTTSS2SI64Zrr
, X86::VCVTTSS2SI64Zrm
, 0 },
764 { X86::VCVTTSS2SI64Zrr_Int
, X86::VCVTTSS2SI64Zrm_Int
, TB_NO_REVERSE
},
765 { X86::VCVTTSS2SI64rr
, X86::VCVTTSS2SI64rm
, 0 },
766 { X86::VCVTTSS2SI64rr_Int
, X86::VCVTTSS2SI64rm_Int
, TB_NO_REVERSE
},
767 { X86::VCVTTSS2SIZrr
, X86::VCVTTSS2SIZrm
, 0 },
768 { X86::VCVTTSS2SIZrr_Int
, X86::VCVTTSS2SIZrm_Int
, TB_NO_REVERSE
},
769 { X86::VCVTTSS2SIrr
, X86::VCVTTSS2SIrm
, 0 },
770 { X86::VCVTTSS2SIrr_Int
, X86::VCVTTSS2SIrm_Int
, TB_NO_REVERSE
},
771 { X86::VCVTTSS2USI64Zrr
, X86::VCVTTSS2USI64Zrm
, 0 },
772 { X86::VCVTTSS2USI64Zrr_Int
, X86::VCVTTSS2USI64Zrm_Int
, TB_NO_REVERSE
},
773 { X86::VCVTTSS2USIZrr
, X86::VCVTTSS2USIZrm
, 0 },
774 { X86::VCVTTSS2USIZrr_Int
, X86::VCVTTSS2USIZrm_Int
, TB_NO_REVERSE
},
775 { X86::VCVTUDQ2PDZ128rr
, X86::VCVTUDQ2PDZ128rm
, TB_NO_REVERSE
},
776 { X86::VCVTUDQ2PDZ256rr
, X86::VCVTUDQ2PDZ256rm
, 0 },
777 { X86::VCVTUDQ2PDZrr
, X86::VCVTUDQ2PDZrm
, 0 },
778 { X86::VCVTUDQ2PSZ128rr
, X86::VCVTUDQ2PSZ128rm
, 0 },
779 { X86::VCVTUDQ2PSZ256rr
, X86::VCVTUDQ2PSZ256rm
, 0 },
780 { X86::VCVTUDQ2PSZrr
, X86::VCVTUDQ2PSZrm
, 0 },
781 { X86::VCVTUQQ2PDZ128rr
, X86::VCVTUQQ2PDZ128rm
, 0 },
782 { X86::VCVTUQQ2PDZ256rr
, X86::VCVTUQQ2PDZ256rm
, 0 },
783 { X86::VCVTUQQ2PDZrr
, X86::VCVTUQQ2PDZrm
, 0 },
784 { X86::VCVTUQQ2PSZ128rr
, X86::VCVTUQQ2PSZ128rm
, 0 },
785 { X86::VCVTUQQ2PSZ256rr
, X86::VCVTUQQ2PSZ256rm
, 0 },
786 { X86::VCVTUQQ2PSZrr
, X86::VCVTUQQ2PSZrm
, 0 },
787 { X86::VEXP2PDZr
, X86::VEXP2PDZm
, 0 },
788 { X86::VEXP2PSZr
, X86::VEXP2PSZm
, 0 },
789 { X86::VEXPANDPDZ128rr
, X86::VEXPANDPDZ128rm
, TB_NO_REVERSE
},
790 { X86::VEXPANDPDZ256rr
, X86::VEXPANDPDZ256rm
, TB_NO_REVERSE
},
791 { X86::VEXPANDPDZrr
, X86::VEXPANDPDZrm
, TB_NO_REVERSE
},
792 { X86::VEXPANDPSZ128rr
, X86::VEXPANDPSZ128rm
, TB_NO_REVERSE
},
793 { X86::VEXPANDPSZ256rr
, X86::VEXPANDPSZ256rm
, TB_NO_REVERSE
},
794 { X86::VEXPANDPSZrr
, X86::VEXPANDPSZrm
, TB_NO_REVERSE
},
795 { X86::VFPCLASSPDZ128rr
, X86::VFPCLASSPDZ128rm
, 0 },
796 { X86::VFPCLASSPDZ256rr
, X86::VFPCLASSPDZ256rm
, 0 },
797 { X86::VFPCLASSPDZrr
, X86::VFPCLASSPDZrm
, 0 },
798 { X86::VFPCLASSPSZ128rr
, X86::VFPCLASSPSZ128rm
, 0 },
799 { X86::VFPCLASSPSZ256rr
, X86::VFPCLASSPSZ256rm
, 0 },
800 { X86::VFPCLASSPSZrr
, X86::VFPCLASSPSZrm
, 0 },
801 { X86::VFPCLASSSDZrr
, X86::VFPCLASSSDZrm
, TB_NO_REVERSE
},
802 { X86::VFPCLASSSSZrr
, X86::VFPCLASSSSZrm
, TB_NO_REVERSE
},
803 { X86::VFRCZPDYrr
, X86::VFRCZPDYrm
, 0 },
804 { X86::VFRCZPDrr
, X86::VFRCZPDrm
, 0 },
805 { X86::VFRCZPSYrr
, X86::VFRCZPSYrm
, 0 },
806 { X86::VFRCZPSrr
, X86::VFRCZPSrm
, 0 },
807 { X86::VFRCZSDrr
, X86::VFRCZSDrm
, TB_NO_REVERSE
},
808 { X86::VFRCZSSrr
, X86::VFRCZSSrm
, TB_NO_REVERSE
},
809 { X86::VGETEXPPDZ128r
, X86::VGETEXPPDZ128m
, 0 },
810 { X86::VGETEXPPDZ256r
, X86::VGETEXPPDZ256m
, 0 },
811 { X86::VGETEXPPDZr
, X86::VGETEXPPDZm
, 0 },
812 { X86::VGETEXPPSZ128r
, X86::VGETEXPPSZ128m
, 0 },
813 { X86::VGETEXPPSZ256r
, X86::VGETEXPPSZ256m
, 0 },
814 { X86::VGETEXPPSZr
, X86::VGETEXPPSZm
, 0 },
815 { X86::VGETMANTPDZ128rri
, X86::VGETMANTPDZ128rmi
, 0 },
816 { X86::VGETMANTPDZ256rri
, X86::VGETMANTPDZ256rmi
, 0 },
817 { X86::VGETMANTPDZrri
, X86::VGETMANTPDZrmi
, 0 },
818 { X86::VGETMANTPSZ128rri
, X86::VGETMANTPSZ128rmi
, 0 },
819 { X86::VGETMANTPSZ256rri
, X86::VGETMANTPSZ256rmi
, 0 },
820 { X86::VGETMANTPSZrri
, X86::VGETMANTPSZrmi
, 0 },
821 { X86::VMOV64toPQIZrr
, X86::VMOVQI2PQIZrm
, TB_NO_REVERSE
},
822 { X86::VMOV64toPQIrr
, X86::VMOVQI2PQIrm
, TB_NO_REVERSE
},
823 { X86::VMOV64toSDZrr
, X86::VMOVSDZrm_alt
, TB_NO_REVERSE
},
824 { X86::VMOV64toSDrr
, X86::VMOVSDrm_alt
, TB_NO_REVERSE
},
825 { X86::VMOVAPDYrr
, X86::VMOVAPDYrm
, TB_ALIGN_32
},
826 { X86::VMOVAPDZ128rr
, X86::VMOVAPDZ128rm
, TB_ALIGN_16
},
827 { X86::VMOVAPDZ256rr
, X86::VMOVAPDZ256rm
, TB_ALIGN_32
},
828 { X86::VMOVAPDZrr
, X86::VMOVAPDZrm
, TB_ALIGN_64
},
829 { X86::VMOVAPDrr
, X86::VMOVAPDrm
, TB_ALIGN_16
},
830 { X86::VMOVAPSYrr
, X86::VMOVAPSYrm
, TB_ALIGN_32
},
831 { X86::VMOVAPSZ128rr
, X86::VMOVAPSZ128rm
, TB_ALIGN_16
},
832 { X86::VMOVAPSZ256rr
, X86::VMOVAPSZ256rm
, TB_ALIGN_32
},
833 { X86::VMOVAPSZrr
, X86::VMOVAPSZrm
, TB_ALIGN_64
},
834 { X86::VMOVAPSrr
, X86::VMOVAPSrm
, TB_ALIGN_16
},
835 { X86::VMOVDDUPYrr
, X86::VMOVDDUPYrm
, 0 },
836 { X86::VMOVDDUPZ128rr
, X86::VMOVDDUPZ128rm
, TB_NO_REVERSE
},
837 { X86::VMOVDDUPZ256rr
, X86::VMOVDDUPZ256rm
, 0 },
838 { X86::VMOVDDUPZrr
, X86::VMOVDDUPZrm
, 0 },
839 { X86::VMOVDDUPrr
, X86::VMOVDDUPrm
, TB_NO_REVERSE
},
840 { X86::VMOVDI2PDIZrr
, X86::VMOVDI2PDIZrm
, 0 },
841 { X86::VMOVDI2PDIrr
, X86::VMOVDI2PDIrm
, 0 },
842 { X86::VMOVDI2SSZrr
, X86::VMOVSSZrm_alt
, 0 },
843 { X86::VMOVDI2SSrr
, X86::VMOVSSrm_alt
, 0 },
844 { X86::VMOVDQA32Z128rr
, X86::VMOVDQA32Z128rm
, TB_ALIGN_16
},
845 { X86::VMOVDQA32Z256rr
, X86::VMOVDQA32Z256rm
, TB_ALIGN_32
},
846 { X86::VMOVDQA32Zrr
, X86::VMOVDQA32Zrm
, TB_ALIGN_64
},
847 { X86::VMOVDQA64Z128rr
, X86::VMOVDQA64Z128rm
, TB_ALIGN_16
},
848 { X86::VMOVDQA64Z256rr
, X86::VMOVDQA64Z256rm
, TB_ALIGN_32
},
849 { X86::VMOVDQA64Zrr
, X86::VMOVDQA64Zrm
, TB_ALIGN_64
},
850 { X86::VMOVDQAYrr
, X86::VMOVDQAYrm
, TB_ALIGN_32
},
851 { X86::VMOVDQArr
, X86::VMOVDQArm
, TB_ALIGN_16
},
852 { X86::VMOVDQU16Z128rr
, X86::VMOVDQU16Z128rm
, 0 },
853 { X86::VMOVDQU16Z256rr
, X86::VMOVDQU16Z256rm
, 0 },
854 { X86::VMOVDQU16Zrr
, X86::VMOVDQU16Zrm
, 0 },
855 { X86::VMOVDQU32Z128rr
, X86::VMOVDQU32Z128rm
, 0 },
856 { X86::VMOVDQU32Z256rr
, X86::VMOVDQU32Z256rm
, 0 },
857 { X86::VMOVDQU32Zrr
, X86::VMOVDQU32Zrm
, 0 },
858 { X86::VMOVDQU64Z128rr
, X86::VMOVDQU64Z128rm
, 0 },
859 { X86::VMOVDQU64Z256rr
, X86::VMOVDQU64Z256rm
, 0 },
860 { X86::VMOVDQU64Zrr
, X86::VMOVDQU64Zrm
, 0 },
861 { X86::VMOVDQU8Z128rr
, X86::VMOVDQU8Z128rm
, 0 },
862 { X86::VMOVDQU8Z256rr
, X86::VMOVDQU8Z256rm
, 0 },
863 { X86::VMOVDQU8Zrr
, X86::VMOVDQU8Zrm
, 0 },
864 { X86::VMOVDQUYrr
, X86::VMOVDQUYrm
, 0 },
865 { X86::VMOVDQUrr
, X86::VMOVDQUrm
, 0 },
866 { X86::VMOVSHDUPYrr
, X86::VMOVSHDUPYrm
, 0 },
867 { X86::VMOVSHDUPZ128rr
, X86::VMOVSHDUPZ128rm
, 0 },
868 { X86::VMOVSHDUPZ256rr
, X86::VMOVSHDUPZ256rm
, 0 },
869 { X86::VMOVSHDUPZrr
, X86::VMOVSHDUPZrm
, 0 },
870 { X86::VMOVSHDUPrr
, X86::VMOVSHDUPrm
, 0 },
871 { X86::VMOVSLDUPYrr
, X86::VMOVSLDUPYrm
, 0 },
872 { X86::VMOVSLDUPZ128rr
, X86::VMOVSLDUPZ128rm
, 0 },
873 { X86::VMOVSLDUPZ256rr
, X86::VMOVSLDUPZ256rm
, 0 },
874 { X86::VMOVSLDUPZrr
, X86::VMOVSLDUPZrm
, 0 },
875 { X86::VMOVSLDUPrr
, X86::VMOVSLDUPrm
, 0 },
876 { X86::VMOVUPDYrr
, X86::VMOVUPDYrm
, 0 },
877 { X86::VMOVUPDZ128rr
, X86::VMOVUPDZ128rm
, 0 },
878 { X86::VMOVUPDZ256rr
, X86::VMOVUPDZ256rm
, 0 },
879 { X86::VMOVUPDZrr
, X86::VMOVUPDZrm
, 0 },
880 { X86::VMOVUPDrr
, X86::VMOVUPDrm
, 0 },
881 { X86::VMOVUPSYrr
, X86::VMOVUPSYrm
, 0 },
882 { X86::VMOVUPSZ128rr
, X86::VMOVUPSZ128rm
, 0 },
883 { X86::VMOVUPSZ256rr
, X86::VMOVUPSZ256rm
, 0 },
884 { X86::VMOVUPSZrr
, X86::VMOVUPSZrm
, 0 },
885 { X86::VMOVUPSrr
, X86::VMOVUPSrm
, 0 },
886 { X86::VMOVZPQILo2PQIZrr
, X86::VMOVQI2PQIZrm
, TB_NO_REVERSE
},
887 { X86::VMOVZPQILo2PQIrr
, X86::VMOVQI2PQIrm
, TB_NO_REVERSE
},
888 { X86::VPABSBYrr
, X86::VPABSBYrm
, 0 },
889 { X86::VPABSBZ128rr
, X86::VPABSBZ128rm
, 0 },
890 { X86::VPABSBZ256rr
, X86::VPABSBZ256rm
, 0 },
891 { X86::VPABSBZrr
, X86::VPABSBZrm
, 0 },
892 { X86::VPABSBrr
, X86::VPABSBrm
, 0 },
893 { X86::VPABSDYrr
, X86::VPABSDYrm
, 0 },
894 { X86::VPABSDZ128rr
, X86::VPABSDZ128rm
, 0 },
895 { X86::VPABSDZ256rr
, X86::VPABSDZ256rm
, 0 },
896 { X86::VPABSDZrr
, X86::VPABSDZrm
, 0 },
897 { X86::VPABSDrr
, X86::VPABSDrm
, 0 },
898 { X86::VPABSQZ128rr
, X86::VPABSQZ128rm
, 0 },
899 { X86::VPABSQZ256rr
, X86::VPABSQZ256rm
, 0 },
900 { X86::VPABSQZrr
, X86::VPABSQZrm
, 0 },
901 { X86::VPABSWYrr
, X86::VPABSWYrm
, 0 },
902 { X86::VPABSWZ128rr
, X86::VPABSWZ128rm
, 0 },
903 { X86::VPABSWZ256rr
, X86::VPABSWZ256rm
, 0 },
904 { X86::VPABSWZrr
, X86::VPABSWZrm
, 0 },
905 { X86::VPABSWrr
, X86::VPABSWrm
, 0 },
906 { X86::VPBROADCASTBYrr
, X86::VPBROADCASTBYrm
, TB_NO_REVERSE
},
907 { X86::VPBROADCASTBZ128r
, X86::VPBROADCASTBZ128m
, TB_NO_REVERSE
},
908 { X86::VPBROADCASTBZ256r
, X86::VPBROADCASTBZ256m
, TB_NO_REVERSE
},
909 { X86::VPBROADCASTBZr
, X86::VPBROADCASTBZm
, TB_NO_REVERSE
},
910 { X86::VPBROADCASTBrr
, X86::VPBROADCASTBrm
, TB_NO_REVERSE
},
911 { X86::VPBROADCASTDYrr
, X86::VPBROADCASTDYrm
, TB_NO_REVERSE
},
912 { X86::VPBROADCASTDZ128r
, X86::VPBROADCASTDZ128m
, TB_NO_REVERSE
},
913 { X86::VPBROADCASTDZ256r
, X86::VPBROADCASTDZ256m
, TB_NO_REVERSE
},
914 { X86::VPBROADCASTDZr
, X86::VPBROADCASTDZm
, TB_NO_REVERSE
},
915 { X86::VPBROADCASTDrr
, X86::VPBROADCASTDrm
, TB_NO_REVERSE
},
916 { X86::VPBROADCASTQYrr
, X86::VPBROADCASTQYrm
, TB_NO_REVERSE
},
917 { X86::VPBROADCASTQZ128r
, X86::VPBROADCASTQZ128m
, TB_NO_REVERSE
},
918 { X86::VPBROADCASTQZ256r
, X86::VPBROADCASTQZ256m
, TB_NO_REVERSE
},
919 { X86::VPBROADCASTQZr
, X86::VPBROADCASTQZm
, TB_NO_REVERSE
},
920 { X86::VPBROADCASTQrr
, X86::VPBROADCASTQrm
, TB_NO_REVERSE
},
921 { X86::VPBROADCASTWYrr
, X86::VPBROADCASTWYrm
, TB_NO_REVERSE
},
922 { X86::VPBROADCASTWZ128r
, X86::VPBROADCASTWZ128m
, TB_NO_REVERSE
},
923 { X86::VPBROADCASTWZ256r
, X86::VPBROADCASTWZ256m
, TB_NO_REVERSE
},
924 { X86::VPBROADCASTWZr
, X86::VPBROADCASTWZm
, TB_NO_REVERSE
},
925 { X86::VPBROADCASTWrr
, X86::VPBROADCASTWrm
, TB_NO_REVERSE
},
926 { X86::VPCMPESTRIrr
, X86::VPCMPESTRIrm
, 0 },
927 { X86::VPCMPESTRMrr
, X86::VPCMPESTRMrm
, 0 },
928 { X86::VPCMPISTRIrr
, X86::VPCMPISTRIrm
, 0 },
929 { X86::VPCMPISTRMrr
, X86::VPCMPISTRMrm
, 0 },
930 { X86::VPCONFLICTDZ128rr
, X86::VPCONFLICTDZ128rm
, 0 },
931 { X86::VPCONFLICTDZ256rr
, X86::VPCONFLICTDZ256rm
, 0 },
932 { X86::VPCONFLICTDZrr
, X86::VPCONFLICTDZrm
, 0 },
933 { X86::VPCONFLICTQZ128rr
, X86::VPCONFLICTQZ128rm
, 0 },
934 { X86::VPCONFLICTQZ256rr
, X86::VPCONFLICTQZ256rm
, 0 },
935 { X86::VPCONFLICTQZrr
, X86::VPCONFLICTQZrm
, 0 },
936 { X86::VPERMILPDYri
, X86::VPERMILPDYmi
, 0 },
937 { X86::VPERMILPDZ128ri
, X86::VPERMILPDZ128mi
, 0 },
938 { X86::VPERMILPDZ256ri
, X86::VPERMILPDZ256mi
, 0 },
939 { X86::VPERMILPDZri
, X86::VPERMILPDZmi
, 0 },
940 { X86::VPERMILPDri
, X86::VPERMILPDmi
, 0 },
941 { X86::VPERMILPSYri
, X86::VPERMILPSYmi
, 0 },
942 { X86::VPERMILPSZ128ri
, X86::VPERMILPSZ128mi
, 0 },
943 { X86::VPERMILPSZ256ri
, X86::VPERMILPSZ256mi
, 0 },
944 { X86::VPERMILPSZri
, X86::VPERMILPSZmi
, 0 },
945 { X86::VPERMILPSri
, X86::VPERMILPSmi
, 0 },
946 { X86::VPERMPDYri
, X86::VPERMPDYmi
, 0 },
947 { X86::VPERMPDZ256ri
, X86::VPERMPDZ256mi
, 0 },
948 { X86::VPERMPDZri
, X86::VPERMPDZmi
, 0 },
949 { X86::VPERMQYri
, X86::VPERMQYmi
, 0 },
950 { X86::VPERMQZ256ri
, X86::VPERMQZ256mi
, 0 },
951 { X86::VPERMQZri
, X86::VPERMQZmi
, 0 },
952 { X86::VPEXPANDBZ128rr
, X86::VPEXPANDBZ128rm
, TB_NO_REVERSE
},
953 { X86::VPEXPANDBZ256rr
, X86::VPEXPANDBZ256rm
, TB_NO_REVERSE
},
954 { X86::VPEXPANDBZrr
, X86::VPEXPANDBZrm
, TB_NO_REVERSE
},
955 { X86::VPEXPANDDZ128rr
, X86::VPEXPANDDZ128rm
, TB_NO_REVERSE
},
956 { X86::VPEXPANDDZ256rr
, X86::VPEXPANDDZ256rm
, TB_NO_REVERSE
},
957 { X86::VPEXPANDDZrr
, X86::VPEXPANDDZrm
, TB_NO_REVERSE
},
958 { X86::VPEXPANDQZ128rr
, X86::VPEXPANDQZ128rm
, TB_NO_REVERSE
},
959 { X86::VPEXPANDQZ256rr
, X86::VPEXPANDQZ256rm
, TB_NO_REVERSE
},
960 { X86::VPEXPANDQZrr
, X86::VPEXPANDQZrm
, TB_NO_REVERSE
},
961 { X86::VPEXPANDWZ128rr
, X86::VPEXPANDWZ128rm
, TB_NO_REVERSE
},
962 { X86::VPEXPANDWZ256rr
, X86::VPEXPANDWZ256rm
, TB_NO_REVERSE
},
963 { X86::VPEXPANDWZrr
, X86::VPEXPANDWZrm
, TB_NO_REVERSE
},
964 { X86::VPHADDBDrr
, X86::VPHADDBDrm
, 0 },
965 { X86::VPHADDBQrr
, X86::VPHADDBQrm
, 0 },
966 { X86::VPHADDBWrr
, X86::VPHADDBWrm
, 0 },
967 { X86::VPHADDDQrr
, X86::VPHADDDQrm
, 0 },
968 { X86::VPHADDUBDrr
, X86::VPHADDUBDrm
, 0 },
969 { X86::VPHADDUBQrr
, X86::VPHADDUBQrm
, 0 },
970 { X86::VPHADDUBWrr
, X86::VPHADDUBWrm
, 0 },
971 { X86::VPHADDUDQrr
, X86::VPHADDUDQrm
, 0 },
972 { X86::VPHADDUWDrr
, X86::VPHADDUWDrm
, 0 },
973 { X86::VPHADDUWQrr
, X86::VPHADDUWQrm
, 0 },
974 { X86::VPHADDWDrr
, X86::VPHADDWDrm
, 0 },
975 { X86::VPHADDWQrr
, X86::VPHADDWQrm
, 0 },
976 { X86::VPHMINPOSUWrr
, X86::VPHMINPOSUWrm
, 0 },
977 { X86::VPHSUBBWrr
, X86::VPHSUBBWrm
, 0 },
978 { X86::VPHSUBDQrr
, X86::VPHSUBDQrm
, 0 },
979 { X86::VPHSUBWDrr
, X86::VPHSUBWDrm
, 0 },
980 { X86::VPLZCNTDZ128rr
, X86::VPLZCNTDZ128rm
, 0 },
981 { X86::VPLZCNTDZ256rr
, X86::VPLZCNTDZ256rm
, 0 },
982 { X86::VPLZCNTDZrr
, X86::VPLZCNTDZrm
, 0 },
983 { X86::VPLZCNTQZ128rr
, X86::VPLZCNTQZ128rm
, 0 },
984 { X86::VPLZCNTQZ256rr
, X86::VPLZCNTQZ256rm
, 0 },
985 { X86::VPLZCNTQZrr
, X86::VPLZCNTQZrm
, 0 },
986 { X86::VPMOVSXBDYrr
, X86::VPMOVSXBDYrm
, TB_NO_REVERSE
},
987 { X86::VPMOVSXBDZ128rr
, X86::VPMOVSXBDZ128rm
, TB_NO_REVERSE
},
988 { X86::VPMOVSXBDZ256rr
, X86::VPMOVSXBDZ256rm
, TB_NO_REVERSE
},
989 { X86::VPMOVSXBDZrr
, X86::VPMOVSXBDZrm
, 0 },
990 { X86::VPMOVSXBDrr
, X86::VPMOVSXBDrm
, TB_NO_REVERSE
},
991 { X86::VPMOVSXBQYrr
, X86::VPMOVSXBQYrm
, TB_NO_REVERSE
},
992 { X86::VPMOVSXBQZ128rr
, X86::VPMOVSXBQZ128rm
, TB_NO_REVERSE
},
993 { X86::VPMOVSXBQZ256rr
, X86::VPMOVSXBQZ256rm
, TB_NO_REVERSE
},
994 { X86::VPMOVSXBQZrr
, X86::VPMOVSXBQZrm
, TB_NO_REVERSE
},
995 { X86::VPMOVSXBQrr
, X86::VPMOVSXBQrm
, TB_NO_REVERSE
},
996 { X86::VPMOVSXBWYrr
, X86::VPMOVSXBWYrm
, 0 },
997 { X86::VPMOVSXBWZ128rr
, X86::VPMOVSXBWZ128rm
, TB_NO_REVERSE
},
998 { X86::VPMOVSXBWZ256rr
, X86::VPMOVSXBWZ256rm
, 0 },
999 { X86::VPMOVSXBWZrr
, X86::VPMOVSXBWZrm
, 0 },
1000 { X86::VPMOVSXBWrr
, X86::VPMOVSXBWrm
, TB_NO_REVERSE
},
1001 { X86::VPMOVSXDQYrr
, X86::VPMOVSXDQYrm
, 0 },
1002 { X86::VPMOVSXDQZ128rr
, X86::VPMOVSXDQZ128rm
, TB_NO_REVERSE
},
1003 { X86::VPMOVSXDQZ256rr
, X86::VPMOVSXDQZ256rm
, 0 },
1004 { X86::VPMOVSXDQZrr
, X86::VPMOVSXDQZrm
, 0 },
1005 { X86::VPMOVSXDQrr
, X86::VPMOVSXDQrm
, TB_NO_REVERSE
},
1006 { X86::VPMOVSXWDYrr
, X86::VPMOVSXWDYrm
, 0 },
1007 { X86::VPMOVSXWDZ128rr
, X86::VPMOVSXWDZ128rm
, TB_NO_REVERSE
},
1008 { X86::VPMOVSXWDZ256rr
, X86::VPMOVSXWDZ256rm
, 0 },
1009 { X86::VPMOVSXWDZrr
, X86::VPMOVSXWDZrm
, 0 },
1010 { X86::VPMOVSXWDrr
, X86::VPMOVSXWDrm
, TB_NO_REVERSE
},
1011 { X86::VPMOVSXWQYrr
, X86::VPMOVSXWQYrm
, TB_NO_REVERSE
},
1012 { X86::VPMOVSXWQZ128rr
, X86::VPMOVSXWQZ128rm
, TB_NO_REVERSE
},
1013 { X86::VPMOVSXWQZ256rr
, X86::VPMOVSXWQZ256rm
, TB_NO_REVERSE
},
1014 { X86::VPMOVSXWQZrr
, X86::VPMOVSXWQZrm
, 0 },
1015 { X86::VPMOVSXWQrr
, X86::VPMOVSXWQrm
, TB_NO_REVERSE
},
1016 { X86::VPMOVZXBDYrr
, X86::VPMOVZXBDYrm
, TB_NO_REVERSE
},
1017 { X86::VPMOVZXBDZ128rr
, X86::VPMOVZXBDZ128rm
, TB_NO_REVERSE
},
1018 { X86::VPMOVZXBDZ256rr
, X86::VPMOVZXBDZ256rm
, TB_NO_REVERSE
},
1019 { X86::VPMOVZXBDZrr
, X86::VPMOVZXBDZrm
, 0 },
1020 { X86::VPMOVZXBDrr
, X86::VPMOVZXBDrm
, TB_NO_REVERSE
},
1021 { X86::VPMOVZXBQYrr
, X86::VPMOVZXBQYrm
, TB_NO_REVERSE
},
1022 { X86::VPMOVZXBQZ128rr
, X86::VPMOVZXBQZ128rm
, TB_NO_REVERSE
},
1023 { X86::VPMOVZXBQZ256rr
, X86::VPMOVZXBQZ256rm
, TB_NO_REVERSE
},
1024 { X86::VPMOVZXBQZrr
, X86::VPMOVZXBQZrm
, TB_NO_REVERSE
},
1025 { X86::VPMOVZXBQrr
, X86::VPMOVZXBQrm
, TB_NO_REVERSE
},
1026 { X86::VPMOVZXBWYrr
, X86::VPMOVZXBWYrm
, 0 },
1027 { X86::VPMOVZXBWZ128rr
, X86::VPMOVZXBWZ128rm
, TB_NO_REVERSE
},
1028 { X86::VPMOVZXBWZ256rr
, X86::VPMOVZXBWZ256rm
, 0 },
1029 { X86::VPMOVZXBWZrr
, X86::VPMOVZXBWZrm
, 0 },
1030 { X86::VPMOVZXBWrr
, X86::VPMOVZXBWrm
, TB_NO_REVERSE
},
1031 { X86::VPMOVZXDQYrr
, X86::VPMOVZXDQYrm
, 0 },
1032 { X86::VPMOVZXDQZ128rr
, X86::VPMOVZXDQZ128rm
, TB_NO_REVERSE
},
1033 { X86::VPMOVZXDQZ256rr
, X86::VPMOVZXDQZ256rm
, 0 },
1034 { X86::VPMOVZXDQZrr
, X86::VPMOVZXDQZrm
, 0 },
1035 { X86::VPMOVZXDQrr
, X86::VPMOVZXDQrm
, TB_NO_REVERSE
},
1036 { X86::VPMOVZXWDYrr
, X86::VPMOVZXWDYrm
, 0 },
1037 { X86::VPMOVZXWDZ128rr
, X86::VPMOVZXWDZ128rm
, TB_NO_REVERSE
},
1038 { X86::VPMOVZXWDZ256rr
, X86::VPMOVZXWDZ256rm
, 0 },
1039 { X86::VPMOVZXWDZrr
, X86::VPMOVZXWDZrm
, 0 },
1040 { X86::VPMOVZXWDrr
, X86::VPMOVZXWDrm
, TB_NO_REVERSE
},
1041 { X86::VPMOVZXWQYrr
, X86::VPMOVZXWQYrm
, TB_NO_REVERSE
},
1042 { X86::VPMOVZXWQZ128rr
, X86::VPMOVZXWQZ128rm
, TB_NO_REVERSE
},
1043 { X86::VPMOVZXWQZ256rr
, X86::VPMOVZXWQZ256rm
, TB_NO_REVERSE
},
1044 { X86::VPMOVZXWQZrr
, X86::VPMOVZXWQZrm
, 0 },
1045 { X86::VPMOVZXWQrr
, X86::VPMOVZXWQrm
, TB_NO_REVERSE
},
1046 { X86::VPOPCNTBZ128rr
, X86::VPOPCNTBZ128rm
, 0 },
1047 { X86::VPOPCNTBZ256rr
, X86::VPOPCNTBZ256rm
, 0 },
1048 { X86::VPOPCNTBZrr
, X86::VPOPCNTBZrm
, 0 },
1049 { X86::VPOPCNTDZ128rr
, X86::VPOPCNTDZ128rm
, 0 },
1050 { X86::VPOPCNTDZ256rr
, X86::VPOPCNTDZ256rm
, 0 },
1051 { X86::VPOPCNTDZrr
, X86::VPOPCNTDZrm
, 0 },
1052 { X86::VPOPCNTQZ128rr
, X86::VPOPCNTQZ128rm
, 0 },
1053 { X86::VPOPCNTQZ256rr
, X86::VPOPCNTQZ256rm
, 0 },
1054 { X86::VPOPCNTQZrr
, X86::VPOPCNTQZrm
, 0 },
1055 { X86::VPOPCNTWZ128rr
, X86::VPOPCNTWZ128rm
, 0 },
1056 { X86::VPOPCNTWZ256rr
, X86::VPOPCNTWZ256rm
, 0 },
1057 { X86::VPOPCNTWZrr
, X86::VPOPCNTWZrm
, 0 },
1058 { X86::VPROLDZ128ri
, X86::VPROLDZ128mi
, 0 },
1059 { X86::VPROLDZ256ri
, X86::VPROLDZ256mi
, 0 },
1060 { X86::VPROLDZri
, X86::VPROLDZmi
, 0 },
1061 { X86::VPROLQZ128ri
, X86::VPROLQZ128mi
, 0 },
1062 { X86::VPROLQZ256ri
, X86::VPROLQZ256mi
, 0 },
1063 { X86::VPROLQZri
, X86::VPROLQZmi
, 0 },
1064 { X86::VPRORDZ128ri
, X86::VPRORDZ128mi
, 0 },
1065 { X86::VPRORDZ256ri
, X86::VPRORDZ256mi
, 0 },
1066 { X86::VPRORDZri
, X86::VPRORDZmi
, 0 },
1067 { X86::VPRORQZ128ri
, X86::VPRORQZ128mi
, 0 },
1068 { X86::VPRORQZ256ri
, X86::VPRORQZ256mi
, 0 },
1069 { X86::VPRORQZri
, X86::VPRORQZmi
, 0 },
1070 { X86::VPROTBri
, X86::VPROTBmi
, 0 },
1071 { X86::VPROTBrr
, X86::VPROTBmr
, 0 },
1072 { X86::VPROTDri
, X86::VPROTDmi
, 0 },
1073 { X86::VPROTDrr
, X86::VPROTDmr
, 0 },
1074 { X86::VPROTQri
, X86::VPROTQmi
, 0 },
1075 { X86::VPROTQrr
, X86::VPROTQmr
, 0 },
1076 { X86::VPROTWri
, X86::VPROTWmi
, 0 },
1077 { X86::VPROTWrr
, X86::VPROTWmr
, 0 },
1078 { X86::VPSHABrr
, X86::VPSHABmr
, 0 },
1079 { X86::VPSHADrr
, X86::VPSHADmr
, 0 },
1080 { X86::VPSHAQrr
, X86::VPSHAQmr
, 0 },
1081 { X86::VPSHAWrr
, X86::VPSHAWmr
, 0 },
1082 { X86::VPSHLBrr
, X86::VPSHLBmr
, 0 },
1083 { X86::VPSHLDrr
, X86::VPSHLDmr
, 0 },
1084 { X86::VPSHLQrr
, X86::VPSHLQmr
, 0 },
1085 { X86::VPSHLWrr
, X86::VPSHLWmr
, 0 },
1086 { X86::VPSHUFDYri
, X86::VPSHUFDYmi
, 0 },
1087 { X86::VPSHUFDZ128ri
, X86::VPSHUFDZ128mi
, 0 },
1088 { X86::VPSHUFDZ256ri
, X86::VPSHUFDZ256mi
, 0 },
1089 { X86::VPSHUFDZri
, X86::VPSHUFDZmi
, 0 },
1090 { X86::VPSHUFDri
, X86::VPSHUFDmi
, 0 },
1091 { X86::VPSHUFHWYri
, X86::VPSHUFHWYmi
, 0 },
1092 { X86::VPSHUFHWZ128ri
, X86::VPSHUFHWZ128mi
, 0 },
1093 { X86::VPSHUFHWZ256ri
, X86::VPSHUFHWZ256mi
, 0 },
1094 { X86::VPSHUFHWZri
, X86::VPSHUFHWZmi
, 0 },
1095 { X86::VPSHUFHWri
, X86::VPSHUFHWmi
, 0 },
1096 { X86::VPSHUFLWYri
, X86::VPSHUFLWYmi
, 0 },
1097 { X86::VPSHUFLWZ128ri
, X86::VPSHUFLWZ128mi
, 0 },
1098 { X86::VPSHUFLWZ256ri
, X86::VPSHUFLWZ256mi
, 0 },
1099 { X86::VPSHUFLWZri
, X86::VPSHUFLWZmi
, 0 },
1100 { X86::VPSHUFLWri
, X86::VPSHUFLWmi
, 0 },
1101 { X86::VPSLLDQZ128rr
, X86::VPSLLDQZ128rm
, 0 },
1102 { X86::VPSLLDQZ256rr
, X86::VPSLLDQZ256rm
, 0 },
1103 { X86::VPSLLDQZrr
, X86::VPSLLDQZrm
, 0 },
1104 { X86::VPSLLDZ128ri
, X86::VPSLLDZ128mi
, 0 },
1105 { X86::VPSLLDZ256ri
, X86::VPSLLDZ256mi
, 0 },
1106 { X86::VPSLLDZri
, X86::VPSLLDZmi
, 0 },
1107 { X86::VPSLLQZ128ri
, X86::VPSLLQZ128mi
, 0 },
1108 { X86::VPSLLQZ256ri
, X86::VPSLLQZ256mi
, 0 },
1109 { X86::VPSLLQZri
, X86::VPSLLQZmi
, 0 },
1110 { X86::VPSLLWZ128ri
, X86::VPSLLWZ128mi
, 0 },
1111 { X86::VPSLLWZ256ri
, X86::VPSLLWZ256mi
, 0 },
1112 { X86::VPSLLWZri
, X86::VPSLLWZmi
, 0 },
1113 { X86::VPSRADZ128ri
, X86::VPSRADZ128mi
, 0 },
1114 { X86::VPSRADZ256ri
, X86::VPSRADZ256mi
, 0 },
1115 { X86::VPSRADZri
, X86::VPSRADZmi
, 0 },
1116 { X86::VPSRAQZ128ri
, X86::VPSRAQZ128mi
, 0 },
1117 { X86::VPSRAQZ256ri
, X86::VPSRAQZ256mi
, 0 },
1118 { X86::VPSRAQZri
, X86::VPSRAQZmi
, 0 },
1119 { X86::VPSRAWZ128ri
, X86::VPSRAWZ128mi
, 0 },
1120 { X86::VPSRAWZ256ri
, X86::VPSRAWZ256mi
, 0 },
1121 { X86::VPSRAWZri
, X86::VPSRAWZmi
, 0 },
1122 { X86::VPSRLDQZ128rr
, X86::VPSRLDQZ128rm
, 0 },
1123 { X86::VPSRLDQZ256rr
, X86::VPSRLDQZ256rm
, 0 },
1124 { X86::VPSRLDQZrr
, X86::VPSRLDQZrm
, 0 },
1125 { X86::VPSRLDZ128ri
, X86::VPSRLDZ128mi
, 0 },
1126 { X86::VPSRLDZ256ri
, X86::VPSRLDZ256mi
, 0 },
1127 { X86::VPSRLDZri
, X86::VPSRLDZmi
, 0 },
1128 { X86::VPSRLQZ128ri
, X86::VPSRLQZ128mi
, 0 },
1129 { X86::VPSRLQZ256ri
, X86::VPSRLQZ256mi
, 0 },
1130 { X86::VPSRLQZri
, X86::VPSRLQZmi
, 0 },
1131 { X86::VPSRLWZ128ri
, X86::VPSRLWZ128mi
, 0 },
1132 { X86::VPSRLWZ256ri
, X86::VPSRLWZ256mi
, 0 },
1133 { X86::VPSRLWZri
, X86::VPSRLWZmi
, 0 },
1134 { X86::VPTESTYrr
, X86::VPTESTYrm
, 0 },
1135 { X86::VPTESTrr
, X86::VPTESTrm
, 0 },
1136 { X86::VRCP14PDZ128r
, X86::VRCP14PDZ128m
, 0 },
1137 { X86::VRCP14PDZ256r
, X86::VRCP14PDZ256m
, 0 },
1138 { X86::VRCP14PDZr
, X86::VRCP14PDZm
, 0 },
1139 { X86::VRCP14PSZ128r
, X86::VRCP14PSZ128m
, 0 },
1140 { X86::VRCP14PSZ256r
, X86::VRCP14PSZ256m
, 0 },
1141 { X86::VRCP14PSZr
, X86::VRCP14PSZm
, 0 },
1142 { X86::VRCP28PDZr
, X86::VRCP28PDZm
, 0 },
1143 { X86::VRCP28PSZr
, X86::VRCP28PSZm
, 0 },
1144 { X86::VRCPPSYr
, X86::VRCPPSYm
, 0 },
1145 { X86::VRCPPSr
, X86::VRCPPSm
, 0 },
1146 { X86::VREDUCEPDZ128rri
, X86::VREDUCEPDZ128rmi
, 0 },
1147 { X86::VREDUCEPDZ256rri
, X86::VREDUCEPDZ256rmi
, 0 },
1148 { X86::VREDUCEPDZrri
, X86::VREDUCEPDZrmi
, 0 },
1149 { X86::VREDUCEPSZ128rri
, X86::VREDUCEPSZ128rmi
, 0 },
1150 { X86::VREDUCEPSZ256rri
, X86::VREDUCEPSZ256rmi
, 0 },
1151 { X86::VREDUCEPSZrri
, X86::VREDUCEPSZrmi
, 0 },
1152 { X86::VRNDSCALEPDZ128rri
, X86::VRNDSCALEPDZ128rmi
, 0 },
1153 { X86::VRNDSCALEPDZ256rri
, X86::VRNDSCALEPDZ256rmi
, 0 },
1154 { X86::VRNDSCALEPDZrri
, X86::VRNDSCALEPDZrmi
, 0 },
1155 { X86::VRNDSCALEPSZ128rri
, X86::VRNDSCALEPSZ128rmi
, 0 },
1156 { X86::VRNDSCALEPSZ256rri
, X86::VRNDSCALEPSZ256rmi
, 0 },
1157 { X86::VRNDSCALEPSZrri
, X86::VRNDSCALEPSZrmi
, 0 },
1158 { X86::VROUNDPDYr
, X86::VROUNDPDYm
, 0 },
1159 { X86::VROUNDPDr
, X86::VROUNDPDm
, 0 },
1160 { X86::VROUNDPSYr
, X86::VROUNDPSYm
, 0 },
1161 { X86::VROUNDPSr
, X86::VROUNDPSm
, 0 },
1162 { X86::VRSQRT14PDZ128r
, X86::VRSQRT14PDZ128m
, 0 },
1163 { X86::VRSQRT14PDZ256r
, X86::VRSQRT14PDZ256m
, 0 },
1164 { X86::VRSQRT14PDZr
, X86::VRSQRT14PDZm
, 0 },
1165 { X86::VRSQRT14PSZ128r
, X86::VRSQRT14PSZ128m
, 0 },
1166 { X86::VRSQRT14PSZ256r
, X86::VRSQRT14PSZ256m
, 0 },
1167 { X86::VRSQRT14PSZr
, X86::VRSQRT14PSZm
, 0 },
1168 { X86::VRSQRT28PDZr
, X86::VRSQRT28PDZm
, 0 },
1169 { X86::VRSQRT28PSZr
, X86::VRSQRT28PSZm
, 0 },
1170 { X86::VRSQRTPSYr
, X86::VRSQRTPSYm
, 0 },
1171 { X86::VRSQRTPSr
, X86::VRSQRTPSm
, 0 },
1172 { X86::VSQRTPDYr
, X86::VSQRTPDYm
, 0 },
1173 { X86::VSQRTPDZ128r
, X86::VSQRTPDZ128m
, 0 },
1174 { X86::VSQRTPDZ256r
, X86::VSQRTPDZ256m
, 0 },
1175 { X86::VSQRTPDZr
, X86::VSQRTPDZm
, 0 },
1176 { X86::VSQRTPDr
, X86::VSQRTPDm
, 0 },
1177 { X86::VSQRTPSYr
, X86::VSQRTPSYm
, 0 },
1178 { X86::VSQRTPSZ128r
, X86::VSQRTPSZ128m
, 0 },
1179 { X86::VSQRTPSZ256r
, X86::VSQRTPSZ256m
, 0 },
1180 { X86::VSQRTPSZr
, X86::VSQRTPSZm
, 0 },
1181 { X86::VSQRTPSr
, X86::VSQRTPSm
, 0 },
1182 { X86::VTESTPDYrr
, X86::VTESTPDYrm
, 0 },
1183 { X86::VTESTPDrr
, X86::VTESTPDrm
, 0 },
1184 { X86::VTESTPSYrr
, X86::VTESTPSYrm
, 0 },
1185 { X86::VTESTPSrr
, X86::VTESTPSrm
, 0 },
1186 { X86::VUCOMISDZrr
, X86::VUCOMISDZrm
, 0 },
1187 { X86::VUCOMISDZrr_Int
, X86::VUCOMISDZrm_Int
, TB_NO_REVERSE
},
1188 { X86::VUCOMISDrr
, X86::VUCOMISDrm
, 0 },
1189 { X86::VUCOMISDrr_Int
, X86::VUCOMISDrm_Int
, TB_NO_REVERSE
},
1190 { X86::VUCOMISSZrr
, X86::VUCOMISSZrm
, 0 },
1191 { X86::VUCOMISSZrr_Int
, X86::VUCOMISSZrm_Int
, TB_NO_REVERSE
},
1192 { X86::VUCOMISSrr
, X86::VUCOMISSrm
, 0 },
1193 { X86::VUCOMISSrr_Int
, X86::VUCOMISSrm_Int
, TB_NO_REVERSE
},
1196 static const X86MemoryFoldTableEntry MemoryFoldTable2
[] = {
1197 { X86::ADD16rr_DB
, X86::ADD16rm
, TB_NO_REVERSE
},
1198 { X86::ADD32rr_DB
, X86::ADD32rm
, TB_NO_REVERSE
},
1199 { X86::ADD64rr_DB
, X86::ADD64rm
, TB_NO_REVERSE
},
1200 { X86::ADD8rr_DB
, X86::ADD8rm
, TB_NO_REVERSE
},
1201 { X86::ADC16rr
, X86::ADC16rm
, 0 },
1202 { X86::ADC32rr
, X86::ADC32rm
, 0 },
1203 { X86::ADC64rr
, X86::ADC64rm
, 0 },
1204 { X86::ADC8rr
, X86::ADC8rm
, 0 },
1205 { X86::ADCX32rr
, X86::ADCX32rm
, 0 },
1206 { X86::ADCX64rr
, X86::ADCX64rm
, 0 },
1207 { X86::ADD16rr
, X86::ADD16rm
, 0 },
1208 { X86::ADD32rr
, X86::ADD32rm
, 0 },
1209 { X86::ADD64rr
, X86::ADD64rm
, 0 },
1210 { X86::ADD8rr
, X86::ADD8rm
, 0 },
1211 { X86::ADDPDrr
, X86::ADDPDrm
, TB_ALIGN_16
},
1212 { X86::ADDPSrr
, X86::ADDPSrm
, TB_ALIGN_16
},
1213 { X86::ADDSDrr
, X86::ADDSDrm
, 0 },
1214 { X86::ADDSDrr_Int
, X86::ADDSDrm_Int
, TB_NO_REVERSE
},
1215 { X86::ADDSSrr
, X86::ADDSSrm
, 0 },
1216 { X86::ADDSSrr_Int
, X86::ADDSSrm_Int
, TB_NO_REVERSE
},
1217 { X86::ADDSUBPDrr
, X86::ADDSUBPDrm
, TB_ALIGN_16
},
1218 { X86::ADDSUBPSrr
, X86::ADDSUBPSrm
, TB_ALIGN_16
},
1219 { X86::ADOX32rr
, X86::ADOX32rm
, 0 },
1220 { X86::ADOX64rr
, X86::ADOX64rm
, 0 },
1221 { X86::AESDECLASTrr
, X86::AESDECLASTrm
, TB_ALIGN_16
},
1222 { X86::AESDECrr
, X86::AESDECrm
, TB_ALIGN_16
},
1223 { X86::AESENCLASTrr
, X86::AESENCLASTrm
, TB_ALIGN_16
},
1224 { X86::AESENCrr
, X86::AESENCrm
, TB_ALIGN_16
},
1225 { X86::AND16rr
, X86::AND16rm
, 0 },
1226 { X86::AND32rr
, X86::AND32rm
, 0 },
1227 { X86::AND64rr
, X86::AND64rm
, 0 },
1228 { X86::AND8rr
, X86::AND8rm
, 0 },
1229 { X86::ANDN32rr
, X86::ANDN32rm
, 0 },
1230 { X86::ANDN64rr
, X86::ANDN64rm
, 0 },
1231 { X86::ANDNPDrr
, X86::ANDNPDrm
, TB_ALIGN_16
},
1232 { X86::ANDNPSrr
, X86::ANDNPSrm
, TB_ALIGN_16
},
1233 { X86::ANDPDrr
, X86::ANDPDrm
, TB_ALIGN_16
},
1234 { X86::ANDPSrr
, X86::ANDPSrm
, TB_ALIGN_16
},
1235 { X86::BLENDPDrri
, X86::BLENDPDrmi
, TB_ALIGN_16
},
1236 { X86::BLENDPSrri
, X86::BLENDPSrmi
, TB_ALIGN_16
},
1237 { X86::BLENDVPDrr0
, X86::BLENDVPDrm0
, TB_ALIGN_16
},
1238 { X86::BLENDVPSrr0
, X86::BLENDVPSrm0
, TB_ALIGN_16
},
1239 { X86::CMOV16rr
, X86::CMOV16rm
, 0 },
1240 { X86::CMOV32rr
, X86::CMOV32rm
, 0 },
1241 { X86::CMOV64rr
, X86::CMOV64rm
, 0 },
1242 { X86::CMPPDrri
, X86::CMPPDrmi
, TB_ALIGN_16
},
1243 { X86::CMPPSrri
, X86::CMPPSrmi
, TB_ALIGN_16
},
1244 { X86::CMPSDrr
, X86::CMPSDrm
, 0 },
1245 { X86::CMPSDrr_Int
, X86::CMPSDrm_Int
, TB_NO_REVERSE
},
1246 { X86::CMPSSrr
, X86::CMPSSrm
, 0 },
1247 { X86::CMPSSrr_Int
, X86::CMPSSrm_Int
, TB_NO_REVERSE
},
1248 { X86::CRC32r32r16
, X86::CRC32r32m16
, 0 },
1249 { X86::CRC32r32r32
, X86::CRC32r32m32
, 0 },
1250 { X86::CRC32r32r8
, X86::CRC32r32m8
, 0 },
1251 { X86::CRC32r64r64
, X86::CRC32r64m64
, 0 },
1252 { X86::CRC32r64r8
, X86::CRC32r64m8
, 0 },
1253 { X86::CVTSD2SSrr_Int
, X86::CVTSD2SSrm_Int
, TB_NO_REVERSE
},
1254 { X86::CVTSI2SDrr_Int
, X86::CVTSI2SDrm_Int
, 0 },
1255 { X86::CVTSI2SSrr_Int
, X86::CVTSI2SSrm_Int
, 0 },
1256 { X86::CVTSI642SDrr_Int
, X86::CVTSI642SDrm_Int
, 0 },
1257 { X86::CVTSI642SSrr_Int
, X86::CVTSI642SSrm_Int
, 0 },
1258 { X86::CVTSS2SDrr_Int
, X86::CVTSS2SDrm_Int
, TB_NO_REVERSE
},
1259 { X86::DIVPDrr
, X86::DIVPDrm
, TB_ALIGN_16
},
1260 { X86::DIVPSrr
, X86::DIVPSrm
, TB_ALIGN_16
},
1261 { X86::DIVSDrr
, X86::DIVSDrm
, 0 },
1262 { X86::DIVSDrr_Int
, X86::DIVSDrm_Int
, TB_NO_REVERSE
},
1263 { X86::DIVSSrr
, X86::DIVSSrm
, 0 },
1264 { X86::DIVSSrr_Int
, X86::DIVSSrm_Int
, TB_NO_REVERSE
},
1265 { X86::DPPDrri
, X86::DPPDrmi
, TB_ALIGN_16
},
1266 { X86::DPPSrri
, X86::DPPSrmi
, TB_ALIGN_16
},
1267 { X86::GF2P8AFFINEINVQBrri
, X86::GF2P8AFFINEINVQBrmi
, TB_ALIGN_16
},
1268 { X86::GF2P8AFFINEQBrri
, X86::GF2P8AFFINEQBrmi
, TB_ALIGN_16
},
1269 { X86::GF2P8MULBrr
, X86::GF2P8MULBrm
, TB_ALIGN_16
},
1270 { X86::HADDPDrr
, X86::HADDPDrm
, TB_ALIGN_16
},
1271 { X86::HADDPSrr
, X86::HADDPSrm
, TB_ALIGN_16
},
1272 { X86::HSUBPDrr
, X86::HSUBPDrm
, TB_ALIGN_16
},
1273 { X86::HSUBPSrr
, X86::HSUBPSrm
, TB_ALIGN_16
},
1274 { X86::IMUL16rr
, X86::IMUL16rm
, 0 },
1275 { X86::IMUL32rr
, X86::IMUL32rm
, 0 },
1276 { X86::IMUL64rr
, X86::IMUL64rm
, 0 },
1277 { X86::MAXCPDrr
, X86::MAXCPDrm
, TB_ALIGN_16
},
1278 { X86::MAXCPSrr
, X86::MAXCPSrm
, TB_ALIGN_16
},
1279 { X86::MAXCSDrr
, X86::MAXCSDrm
, 0 },
1280 { X86::MAXCSSrr
, X86::MAXCSSrm
, 0 },
1281 { X86::MAXPDrr
, X86::MAXPDrm
, TB_ALIGN_16
},
1282 { X86::MAXPSrr
, X86::MAXPSrm
, TB_ALIGN_16
},
1283 { X86::MAXSDrr
, X86::MAXSDrm
, 0 },
1284 { X86::MAXSDrr_Int
, X86::MAXSDrm_Int
, TB_NO_REVERSE
},
1285 { X86::MAXSSrr
, X86::MAXSSrm
, 0 },
1286 { X86::MAXSSrr_Int
, X86::MAXSSrm_Int
, TB_NO_REVERSE
},
1287 { X86::MINCPDrr
, X86::MINCPDrm
, TB_ALIGN_16
},
1288 { X86::MINCPSrr
, X86::MINCPSrm
, TB_ALIGN_16
},
1289 { X86::MINCSDrr
, X86::MINCSDrm
, 0 },
1290 { X86::MINCSSrr
, X86::MINCSSrm
, 0 },
1291 { X86::MINPDrr
, X86::MINPDrm
, TB_ALIGN_16
},
1292 { X86::MINPSrr
, X86::MINPSrm
, TB_ALIGN_16
},
1293 { X86::MINSDrr
, X86::MINSDrm
, 0 },
1294 { X86::MINSDrr_Int
, X86::MINSDrm_Int
, TB_NO_REVERSE
},
1295 { X86::MINSSrr
, X86::MINSSrm
, 0 },
1296 { X86::MINSSrr_Int
, X86::MINSSrm_Int
, TB_NO_REVERSE
},
1297 { X86::MMX_CVTPI2PSirr
, X86::MMX_CVTPI2PSirm
, 0 },
1298 { X86::MMX_PACKSSDWirr
, X86::MMX_PACKSSDWirm
, 0 },
1299 { X86::MMX_PACKSSWBirr
, X86::MMX_PACKSSWBirm
, 0 },
1300 { X86::MMX_PACKUSWBirr
, X86::MMX_PACKUSWBirm
, 0 },
1301 { X86::MMX_PADDBirr
, X86::MMX_PADDBirm
, 0 },
1302 { X86::MMX_PADDDirr
, X86::MMX_PADDDirm
, 0 },
1303 { X86::MMX_PADDQirr
, X86::MMX_PADDQirm
, 0 },
1304 { X86::MMX_PADDSBirr
, X86::MMX_PADDSBirm
, 0 },
1305 { X86::MMX_PADDSWirr
, X86::MMX_PADDSWirm
, 0 },
1306 { X86::MMX_PADDUSBirr
, X86::MMX_PADDUSBirm
, 0 },
1307 { X86::MMX_PADDUSWirr
, X86::MMX_PADDUSWirm
, 0 },
1308 { X86::MMX_PADDWirr
, X86::MMX_PADDWirm
, 0 },
1309 { X86::MMX_PALIGNRrri
, X86::MMX_PALIGNRrmi
, 0 },
1310 { X86::MMX_PANDNirr
, X86::MMX_PANDNirm
, 0 },
1311 { X86::MMX_PANDirr
, X86::MMX_PANDirm
, 0 },
1312 { X86::MMX_PAVGBirr
, X86::MMX_PAVGBirm
, 0 },
1313 { X86::MMX_PAVGWirr
, X86::MMX_PAVGWirm
, 0 },
1314 { X86::MMX_PCMPEQBirr
, X86::MMX_PCMPEQBirm
, 0 },
1315 { X86::MMX_PCMPEQDirr
, X86::MMX_PCMPEQDirm
, 0 },
1316 { X86::MMX_PCMPEQWirr
, X86::MMX_PCMPEQWirm
, 0 },
1317 { X86::MMX_PCMPGTBirr
, X86::MMX_PCMPGTBirm
, 0 },
1318 { X86::MMX_PCMPGTDirr
, X86::MMX_PCMPGTDirm
, 0 },
1319 { X86::MMX_PCMPGTWirr
, X86::MMX_PCMPGTWirm
, 0 },
1320 { X86::MMX_PHADDDrr
, X86::MMX_PHADDDrm
, 0 },
1321 { X86::MMX_PHADDSWrr
, X86::MMX_PHADDSWrm
, 0 },
1322 { X86::MMX_PHADDWrr
, X86::MMX_PHADDWrm
, 0 },
1323 { X86::MMX_PHSUBDrr
, X86::MMX_PHSUBDrm
, 0 },
1324 { X86::MMX_PHSUBSWrr
, X86::MMX_PHSUBSWrm
, 0 },
1325 { X86::MMX_PHSUBWrr
, X86::MMX_PHSUBWrm
, 0 },
1326 { X86::MMX_PINSRWrr
, X86::MMX_PINSRWrm
, TB_NO_REVERSE
},
1327 { X86::MMX_PMADDUBSWrr
, X86::MMX_PMADDUBSWrm
, 0 },
1328 { X86::MMX_PMADDWDirr
, X86::MMX_PMADDWDirm
, 0 },
1329 { X86::MMX_PMAXSWirr
, X86::MMX_PMAXSWirm
, 0 },
1330 { X86::MMX_PMAXUBirr
, X86::MMX_PMAXUBirm
, 0 },
1331 { X86::MMX_PMINSWirr
, X86::MMX_PMINSWirm
, 0 },
1332 { X86::MMX_PMINUBirr
, X86::MMX_PMINUBirm
, 0 },
1333 { X86::MMX_PMULHRSWrr
, X86::MMX_PMULHRSWrm
, 0 },
1334 { X86::MMX_PMULHUWirr
, X86::MMX_PMULHUWirm
, 0 },
1335 { X86::MMX_PMULHWirr
, X86::MMX_PMULHWirm
, 0 },
1336 { X86::MMX_PMULLWirr
, X86::MMX_PMULLWirm
, 0 },
1337 { X86::MMX_PMULUDQirr
, X86::MMX_PMULUDQirm
, 0 },
1338 { X86::MMX_PORirr
, X86::MMX_PORirm
, 0 },
1339 { X86::MMX_PSADBWirr
, X86::MMX_PSADBWirm
, 0 },
1340 { X86::MMX_PSHUFBrr
, X86::MMX_PSHUFBrm
, 0 },
1341 { X86::MMX_PSIGNBrr
, X86::MMX_PSIGNBrm
, 0 },
1342 { X86::MMX_PSIGNDrr
, X86::MMX_PSIGNDrm
, 0 },
1343 { X86::MMX_PSIGNWrr
, X86::MMX_PSIGNWrm
, 0 },
1344 { X86::MMX_PSLLDrr
, X86::MMX_PSLLDrm
, 0 },
1345 { X86::MMX_PSLLQrr
, X86::MMX_PSLLQrm
, 0 },
1346 { X86::MMX_PSLLWrr
, X86::MMX_PSLLWrm
, 0 },
1347 { X86::MMX_PSRADrr
, X86::MMX_PSRADrm
, 0 },
1348 { X86::MMX_PSRAWrr
, X86::MMX_PSRAWrm
, 0 },
1349 { X86::MMX_PSRLDrr
, X86::MMX_PSRLDrm
, 0 },
1350 { X86::MMX_PSRLQrr
, X86::MMX_PSRLQrm
, 0 },
1351 { X86::MMX_PSRLWrr
, X86::MMX_PSRLWrm
, 0 },
1352 { X86::MMX_PSUBBirr
, X86::MMX_PSUBBirm
, 0 },
1353 { X86::MMX_PSUBDirr
, X86::MMX_PSUBDirm
, 0 },
1354 { X86::MMX_PSUBQirr
, X86::MMX_PSUBQirm
, 0 },
1355 { X86::MMX_PSUBSBirr
, X86::MMX_PSUBSBirm
, 0 },
1356 { X86::MMX_PSUBSWirr
, X86::MMX_PSUBSWirm
, 0 },
1357 { X86::MMX_PSUBUSBirr
, X86::MMX_PSUBUSBirm
, 0 },
1358 { X86::MMX_PSUBUSWirr
, X86::MMX_PSUBUSWirm
, 0 },
1359 { X86::MMX_PSUBWirr
, X86::MMX_PSUBWirm
, 0 },
1360 { X86::MMX_PUNPCKHBWirr
, X86::MMX_PUNPCKHBWirm
, 0 },
1361 { X86::MMX_PUNPCKHDQirr
, X86::MMX_PUNPCKHDQirm
, 0 },
1362 { X86::MMX_PUNPCKHWDirr
, X86::MMX_PUNPCKHWDirm
, 0 },
1363 { X86::MMX_PUNPCKLBWirr
, X86::MMX_PUNPCKLBWirm
, TB_NO_REVERSE
},
1364 { X86::MMX_PUNPCKLDQirr
, X86::MMX_PUNPCKLDQirm
, TB_NO_REVERSE
},
1365 { X86::MMX_PUNPCKLWDirr
, X86::MMX_PUNPCKLWDirm
, TB_NO_REVERSE
},
1366 { X86::MMX_PXORirr
, X86::MMX_PXORirm
, 0 },
1367 { X86::MOVLHPSrr
, X86::MOVHPSrm
, TB_NO_REVERSE
},
1368 { X86::MOVSDrr
, X86::MOVLPDrm
, TB_NO_REVERSE
},
1369 { X86::MPSADBWrri
, X86::MPSADBWrmi
, TB_ALIGN_16
},
1370 { X86::MULPDrr
, X86::MULPDrm
, TB_ALIGN_16
},
1371 { X86::MULPSrr
, X86::MULPSrm
, TB_ALIGN_16
},
1372 { X86::MULSDrr
, X86::MULSDrm
, 0 },
1373 { X86::MULSDrr_Int
, X86::MULSDrm_Int
, TB_NO_REVERSE
},
1374 { X86::MULSSrr
, X86::MULSSrm
, 0 },
1375 { X86::MULSSrr_Int
, X86::MULSSrm_Int
, TB_NO_REVERSE
},
1376 { X86::MULX32rr
, X86::MULX32rm
, 0 },
1377 { X86::MULX64rr
, X86::MULX64rm
, 0 },
1378 { X86::OR16rr
, X86::OR16rm
, 0 },
1379 { X86::OR32rr
, X86::OR32rm
, 0 },
1380 { X86::OR64rr
, X86::OR64rm
, 0 },
1381 { X86::OR8rr
, X86::OR8rm
, 0 },
1382 { X86::ORPDrr
, X86::ORPDrm
, TB_ALIGN_16
},
1383 { X86::ORPSrr
, X86::ORPSrm
, TB_ALIGN_16
},
1384 { X86::PACKSSDWrr
, X86::PACKSSDWrm
, TB_ALIGN_16
},
1385 { X86::PACKSSWBrr
, X86::PACKSSWBrm
, TB_ALIGN_16
},
1386 { X86::PACKUSDWrr
, X86::PACKUSDWrm
, TB_ALIGN_16
},
1387 { X86::PACKUSWBrr
, X86::PACKUSWBrm
, TB_ALIGN_16
},
1388 { X86::PADDBrr
, X86::PADDBrm
, TB_ALIGN_16
},
1389 { X86::PADDDrr
, X86::PADDDrm
, TB_ALIGN_16
},
1390 { X86::PADDQrr
, X86::PADDQrm
, TB_ALIGN_16
},
1391 { X86::PADDSBrr
, X86::PADDSBrm
, TB_ALIGN_16
},
1392 { X86::PADDSWrr
, X86::PADDSWrm
, TB_ALIGN_16
},
1393 { X86::PADDUSBrr
, X86::PADDUSBrm
, TB_ALIGN_16
},
1394 { X86::PADDUSWrr
, X86::PADDUSWrm
, TB_ALIGN_16
},
1395 { X86::PADDWrr
, X86::PADDWrm
, TB_ALIGN_16
},
1396 { X86::PALIGNRrri
, X86::PALIGNRrmi
, TB_ALIGN_16
},
1397 { X86::PANDNrr
, X86::PANDNrm
, TB_ALIGN_16
},
1398 { X86::PANDrr
, X86::PANDrm
, TB_ALIGN_16
},
1399 { X86::PAVGBrr
, X86::PAVGBrm
, TB_ALIGN_16
},
1400 { X86::PAVGUSBrr
, X86::PAVGUSBrm
, 0 },
1401 { X86::PAVGWrr
, X86::PAVGWrm
, TB_ALIGN_16
},
1402 { X86::PBLENDVBrr0
, X86::PBLENDVBrm0
, TB_ALIGN_16
},
1403 { X86::PBLENDWrri
, X86::PBLENDWrmi
, TB_ALIGN_16
},
1404 { X86::PCLMULQDQrr
, X86::PCLMULQDQrm
, TB_ALIGN_16
},
1405 { X86::PCMPEQBrr
, X86::PCMPEQBrm
, TB_ALIGN_16
},
1406 { X86::PCMPEQDrr
, X86::PCMPEQDrm
, TB_ALIGN_16
},
1407 { X86::PCMPEQQrr
, X86::PCMPEQQrm
, TB_ALIGN_16
},
1408 { X86::PCMPEQWrr
, X86::PCMPEQWrm
, TB_ALIGN_16
},
1409 { X86::PCMPGTBrr
, X86::PCMPGTBrm
, TB_ALIGN_16
},
1410 { X86::PCMPGTDrr
, X86::PCMPGTDrm
, TB_ALIGN_16
},
1411 { X86::PCMPGTQrr
, X86::PCMPGTQrm
, TB_ALIGN_16
},
1412 { X86::PCMPGTWrr
, X86::PCMPGTWrm
, TB_ALIGN_16
},
1413 { X86::PDEP32rr
, X86::PDEP32rm
, 0 },
1414 { X86::PDEP64rr
, X86::PDEP64rm
, 0 },
1415 { X86::PEXT32rr
, X86::PEXT32rm
, 0 },
1416 { X86::PEXT64rr
, X86::PEXT64rm
, 0 },
1417 { X86::PFACCrr
, X86::PFACCrm
, 0 },
1418 { X86::PFADDrr
, X86::PFADDrm
, 0 },
1419 { X86::PFCMPEQrr
, X86::PFCMPEQrm
, 0 },
1420 { X86::PFCMPGErr
, X86::PFCMPGErm
, 0 },
1421 { X86::PFCMPGTrr
, X86::PFCMPGTrm
, 0 },
1422 { X86::PFMAXrr
, X86::PFMAXrm
, 0 },
1423 { X86::PFMINrr
, X86::PFMINrm
, 0 },
1424 { X86::PFMULrr
, X86::PFMULrm
, 0 },
1425 { X86::PFNACCrr
, X86::PFNACCrm
, 0 },
1426 { X86::PFPNACCrr
, X86::PFPNACCrm
, 0 },
1427 { X86::PFRCPIT1rr
, X86::PFRCPIT1rm
, 0 },
1428 { X86::PFRCPIT2rr
, X86::PFRCPIT2rm
, 0 },
1429 { X86::PFRSQIT1rr
, X86::PFRSQIT1rm
, 0 },
1430 { X86::PFSUBRrr
, X86::PFSUBRrm
, 0 },
1431 { X86::PFSUBrr
, X86::PFSUBrm
, 0 },
1432 { X86::PHADDDrr
, X86::PHADDDrm
, TB_ALIGN_16
},
1433 { X86::PHADDSWrr
, X86::PHADDSWrm
, TB_ALIGN_16
},
1434 { X86::PHADDWrr
, X86::PHADDWrm
, TB_ALIGN_16
},
1435 { X86::PHSUBDrr
, X86::PHSUBDrm
, TB_ALIGN_16
},
1436 { X86::PHSUBSWrr
, X86::PHSUBSWrm
, TB_ALIGN_16
},
1437 { X86::PHSUBWrr
, X86::PHSUBWrm
, TB_ALIGN_16
},
1438 { X86::PINSRBrr
, X86::PINSRBrm
, TB_NO_REVERSE
},
1439 { X86::PINSRDrr
, X86::PINSRDrm
, 0 },
1440 { X86::PINSRQrr
, X86::PINSRQrm
, 0 },
1441 { X86::PINSRWrr
, X86::PINSRWrm
, TB_NO_REVERSE
},
1442 { X86::PMADDUBSWrr
, X86::PMADDUBSWrm
, TB_ALIGN_16
},
1443 { X86::PMADDWDrr
, X86::PMADDWDrm
, TB_ALIGN_16
},
1444 { X86::PMAXSBrr
, X86::PMAXSBrm
, TB_ALIGN_16
},
1445 { X86::PMAXSDrr
, X86::PMAXSDrm
, TB_ALIGN_16
},
1446 { X86::PMAXSWrr
, X86::PMAXSWrm
, TB_ALIGN_16
},
1447 { X86::PMAXUBrr
, X86::PMAXUBrm
, TB_ALIGN_16
},
1448 { X86::PMAXUDrr
, X86::PMAXUDrm
, TB_ALIGN_16
},
1449 { X86::PMAXUWrr
, X86::PMAXUWrm
, TB_ALIGN_16
},
1450 { X86::PMINSBrr
, X86::PMINSBrm
, TB_ALIGN_16
},
1451 { X86::PMINSDrr
, X86::PMINSDrm
, TB_ALIGN_16
},
1452 { X86::PMINSWrr
, X86::PMINSWrm
, TB_ALIGN_16
},
1453 { X86::PMINUBrr
, X86::PMINUBrm
, TB_ALIGN_16
},
1454 { X86::PMINUDrr
, X86::PMINUDrm
, TB_ALIGN_16
},
1455 { X86::PMINUWrr
, X86::PMINUWrm
, TB_ALIGN_16
},
1456 { X86::PMULDQrr
, X86::PMULDQrm
, TB_ALIGN_16
},
1457 { X86::PMULHRSWrr
, X86::PMULHRSWrm
, TB_ALIGN_16
},
1458 { X86::PMULHRWrr
, X86::PMULHRWrm
, 0 },
1459 { X86::PMULHUWrr
, X86::PMULHUWrm
, TB_ALIGN_16
},
1460 { X86::PMULHWrr
, X86::PMULHWrm
, TB_ALIGN_16
},
1461 { X86::PMULLDrr
, X86::PMULLDrm
, TB_ALIGN_16
},
1462 { X86::PMULLWrr
, X86::PMULLWrm
, TB_ALIGN_16
},
1463 { X86::PMULUDQrr
, X86::PMULUDQrm
, TB_ALIGN_16
},
1464 { X86::PORrr
, X86::PORrm
, TB_ALIGN_16
},
1465 { X86::PSADBWrr
, X86::PSADBWrm
, TB_ALIGN_16
},
1466 { X86::PSHUFBrr
, X86::PSHUFBrm
, TB_ALIGN_16
},
1467 { X86::PSIGNBrr
, X86::PSIGNBrm
, TB_ALIGN_16
},
1468 { X86::PSIGNDrr
, X86::PSIGNDrm
, TB_ALIGN_16
},
1469 { X86::PSIGNWrr
, X86::PSIGNWrm
, TB_ALIGN_16
},
1470 { X86::PSLLDrr
, X86::PSLLDrm
, TB_ALIGN_16
},
1471 { X86::PSLLQrr
, X86::PSLLQrm
, TB_ALIGN_16
},
1472 { X86::PSLLWrr
, X86::PSLLWrm
, TB_ALIGN_16
},
1473 { X86::PSRADrr
, X86::PSRADrm
, TB_ALIGN_16
},
1474 { X86::PSRAWrr
, X86::PSRAWrm
, TB_ALIGN_16
},
1475 { X86::PSRLDrr
, X86::PSRLDrm
, TB_ALIGN_16
},
1476 { X86::PSRLQrr
, X86::PSRLQrm
, TB_ALIGN_16
},
1477 { X86::PSRLWrr
, X86::PSRLWrm
, TB_ALIGN_16
},
1478 { X86::PSUBBrr
, X86::PSUBBrm
, TB_ALIGN_16
},
1479 { X86::PSUBDrr
, X86::PSUBDrm
, TB_ALIGN_16
},
1480 { X86::PSUBQrr
, X86::PSUBQrm
, TB_ALIGN_16
},
1481 { X86::PSUBSBrr
, X86::PSUBSBrm
, TB_ALIGN_16
},
1482 { X86::PSUBSWrr
, X86::PSUBSWrm
, TB_ALIGN_16
},
1483 { X86::PSUBUSBrr
, X86::PSUBUSBrm
, TB_ALIGN_16
},
1484 { X86::PSUBUSWrr
, X86::PSUBUSWrm
, TB_ALIGN_16
},
1485 { X86::PSUBWrr
, X86::PSUBWrm
, TB_ALIGN_16
},
1486 { X86::PUNPCKHBWrr
, X86::PUNPCKHBWrm
, TB_ALIGN_16
},
1487 { X86::PUNPCKHDQrr
, X86::PUNPCKHDQrm
, TB_ALIGN_16
},
1488 { X86::PUNPCKHQDQrr
, X86::PUNPCKHQDQrm
, TB_ALIGN_16
},
1489 { X86::PUNPCKHWDrr
, X86::PUNPCKHWDrm
, TB_ALIGN_16
},
1490 { X86::PUNPCKLBWrr
, X86::PUNPCKLBWrm
, TB_ALIGN_16
},
1491 { X86::PUNPCKLDQrr
, X86::PUNPCKLDQrm
, TB_ALIGN_16
},
1492 { X86::PUNPCKLQDQrr
, X86::PUNPCKLQDQrm
, TB_ALIGN_16
},
1493 { X86::PUNPCKLWDrr
, X86::PUNPCKLWDrm
, TB_ALIGN_16
},
1494 { X86::PXORrr
, X86::PXORrm
, TB_ALIGN_16
},
1495 { X86::RCPSSr_Int
, X86::RCPSSm_Int
, TB_NO_REVERSE
},
1496 { X86::ROUNDSDr_Int
, X86::ROUNDSDm_Int
, TB_NO_REVERSE
},
1497 { X86::ROUNDSSr_Int
, X86::ROUNDSSm_Int
, TB_NO_REVERSE
},
1498 { X86::RSQRTSSr_Int
, X86::RSQRTSSm_Int
, TB_NO_REVERSE
},
1499 { X86::SBB16rr
, X86::SBB16rm
, 0 },
1500 { X86::SBB32rr
, X86::SBB32rm
, 0 },
1501 { X86::SBB64rr
, X86::SBB64rm
, 0 },
1502 { X86::SBB8rr
, X86::SBB8rm
, 0 },
1503 { X86::SHA1MSG1rr
, X86::SHA1MSG1rm
, TB_ALIGN_16
},
1504 { X86::SHA1MSG2rr
, X86::SHA1MSG2rm
, TB_ALIGN_16
},
1505 { X86::SHA1NEXTErr
, X86::SHA1NEXTErm
, TB_ALIGN_16
},
1506 { X86::SHA1RNDS4rri
, X86::SHA1RNDS4rmi
, TB_ALIGN_16
},
1507 { X86::SHA256MSG1rr
, X86::SHA256MSG1rm
, TB_ALIGN_16
},
1508 { X86::SHA256MSG2rr
, X86::SHA256MSG2rm
, TB_ALIGN_16
},
1509 { X86::SHA256RNDS2rr
, X86::SHA256RNDS2rm
, TB_ALIGN_16
},
1510 { X86::SHUFPDrri
, X86::SHUFPDrmi
, TB_ALIGN_16
},
1511 { X86::SHUFPSrri
, X86::SHUFPSrmi
, TB_ALIGN_16
},
1512 { X86::SQRTSDr_Int
, X86::SQRTSDm_Int
, TB_NO_REVERSE
},
1513 { X86::SQRTSSr_Int
, X86::SQRTSSm_Int
, TB_NO_REVERSE
},
1514 { X86::SUB16rr
, X86::SUB16rm
, 0 },
1515 { X86::SUB32rr
, X86::SUB32rm
, 0 },
1516 { X86::SUB64rr
, X86::SUB64rm
, 0 },
1517 { X86::SUB8rr
, X86::SUB8rm
, 0 },
1518 { X86::SUBPDrr
, X86::SUBPDrm
, TB_ALIGN_16
},
1519 { X86::SUBPSrr
, X86::SUBPSrm
, TB_ALIGN_16
},
1520 { X86::SUBSDrr
, X86::SUBSDrm
, 0 },
1521 { X86::SUBSDrr_Int
, X86::SUBSDrm_Int
, TB_NO_REVERSE
},
1522 { X86::SUBSSrr
, X86::SUBSSrm
, 0 },
1523 { X86::SUBSSrr_Int
, X86::SUBSSrm_Int
, TB_NO_REVERSE
},
1524 { X86::UNPCKHPDrr
, X86::UNPCKHPDrm
, TB_ALIGN_16
},
1525 { X86::UNPCKHPSrr
, X86::UNPCKHPSrm
, TB_ALIGN_16
},
1526 { X86::UNPCKLPDrr
, X86::UNPCKLPDrm
, TB_ALIGN_16
},
1527 { X86::UNPCKLPSrr
, X86::UNPCKLPSrm
, TB_ALIGN_16
},
1528 { X86::VADDPDYrr
, X86::VADDPDYrm
, 0 },
1529 { X86::VADDPDZ128rr
, X86::VADDPDZ128rm
, 0 },
1530 { X86::VADDPDZ256rr
, X86::VADDPDZ256rm
, 0 },
1531 { X86::VADDPDZrr
, X86::VADDPDZrm
, 0 },
1532 { X86::VADDPDrr
, X86::VADDPDrm
, 0 },
1533 { X86::VADDPSYrr
, X86::VADDPSYrm
, 0 },
1534 { X86::VADDPSZ128rr
, X86::VADDPSZ128rm
, 0 },
1535 { X86::VADDPSZ256rr
, X86::VADDPSZ256rm
, 0 },
1536 { X86::VADDPSZrr
, X86::VADDPSZrm
, 0 },
1537 { X86::VADDPSrr
, X86::VADDPSrm
, 0 },
1538 { X86::VADDSDZrr
, X86::VADDSDZrm
, 0 },
1539 { X86::VADDSDZrr_Int
, X86::VADDSDZrm_Int
, TB_NO_REVERSE
},
1540 { X86::VADDSDrr
, X86::VADDSDrm
, 0 },
1541 { X86::VADDSDrr_Int
, X86::VADDSDrm_Int
, TB_NO_REVERSE
},
1542 { X86::VADDSSZrr
, X86::VADDSSZrm
, 0 },
1543 { X86::VADDSSZrr_Int
, X86::VADDSSZrm_Int
, TB_NO_REVERSE
},
1544 { X86::VADDSSrr
, X86::VADDSSrm
, 0 },
1545 { X86::VADDSSrr_Int
, X86::VADDSSrm_Int
, TB_NO_REVERSE
},
1546 { X86::VADDSUBPDYrr
, X86::VADDSUBPDYrm
, 0 },
1547 { X86::VADDSUBPDrr
, X86::VADDSUBPDrm
, 0 },
1548 { X86::VADDSUBPSYrr
, X86::VADDSUBPSYrm
, 0 },
1549 { X86::VADDSUBPSrr
, X86::VADDSUBPSrm
, 0 },
1550 { X86::VAESDECLASTYrr
, X86::VAESDECLASTYrm
, 0 },
1551 { X86::VAESDECLASTZ128rr
, X86::VAESDECLASTZ128rm
, 0 },
1552 { X86::VAESDECLASTZ256rr
, X86::VAESDECLASTZ256rm
, 0 },
1553 { X86::VAESDECLASTZrr
, X86::VAESDECLASTZrm
, 0 },
1554 { X86::VAESDECLASTrr
, X86::VAESDECLASTrm
, 0 },
1555 { X86::VAESDECYrr
, X86::VAESDECYrm
, 0 },
1556 { X86::VAESDECZ128rr
, X86::VAESDECZ128rm
, 0 },
1557 { X86::VAESDECZ256rr
, X86::VAESDECZ256rm
, 0 },
1558 { X86::VAESDECZrr
, X86::VAESDECZrm
, 0 },
1559 { X86::VAESDECrr
, X86::VAESDECrm
, 0 },
1560 { X86::VAESENCLASTYrr
, X86::VAESENCLASTYrm
, 0 },
1561 { X86::VAESENCLASTZ128rr
, X86::VAESENCLASTZ128rm
, 0 },
1562 { X86::VAESENCLASTZ256rr
, X86::VAESENCLASTZ256rm
, 0 },
1563 { X86::VAESENCLASTZrr
, X86::VAESENCLASTZrm
, 0 },
1564 { X86::VAESENCLASTrr
, X86::VAESENCLASTrm
, 0 },
1565 { X86::VAESENCYrr
, X86::VAESENCYrm
, 0 },
1566 { X86::VAESENCZ128rr
, X86::VAESENCZ128rm
, 0 },
1567 { X86::VAESENCZ256rr
, X86::VAESENCZ256rm
, 0 },
1568 { X86::VAESENCZrr
, X86::VAESENCZrm
, 0 },
1569 { X86::VAESENCrr
, X86::VAESENCrm
, 0 },
1570 { X86::VALIGNDZ128rri
, X86::VALIGNDZ128rmi
, 0 },
1571 { X86::VALIGNDZ256rri
, X86::VALIGNDZ256rmi
, 0 },
1572 { X86::VALIGNDZrri
, X86::VALIGNDZrmi
, 0 },
1573 { X86::VALIGNQZ128rri
, X86::VALIGNQZ128rmi
, 0 },
1574 { X86::VALIGNQZ256rri
, X86::VALIGNQZ256rmi
, 0 },
1575 { X86::VALIGNQZrri
, X86::VALIGNQZrmi
, 0 },
1576 { X86::VANDNPDYrr
, X86::VANDNPDYrm
, 0 },
1577 { X86::VANDNPDZ128rr
, X86::VANDNPDZ128rm
, 0 },
1578 { X86::VANDNPDZ256rr
, X86::VANDNPDZ256rm
, 0 },
1579 { X86::VANDNPDZrr
, X86::VANDNPDZrm
, 0 },
1580 { X86::VANDNPDrr
, X86::VANDNPDrm
, 0 },
1581 { X86::VANDNPSYrr
, X86::VANDNPSYrm
, 0 },
1582 { X86::VANDNPSZ128rr
, X86::VANDNPSZ128rm
, 0 },
1583 { X86::VANDNPSZ256rr
, X86::VANDNPSZ256rm
, 0 },
1584 { X86::VANDNPSZrr
, X86::VANDNPSZrm
, 0 },
1585 { X86::VANDNPSrr
, X86::VANDNPSrm
, 0 },
1586 { X86::VANDPDYrr
, X86::VANDPDYrm
, 0 },
1587 { X86::VANDPDZ128rr
, X86::VANDPDZ128rm
, 0 },
1588 { X86::VANDPDZ256rr
, X86::VANDPDZ256rm
, 0 },
1589 { X86::VANDPDZrr
, X86::VANDPDZrm
, 0 },
1590 { X86::VANDPDrr
, X86::VANDPDrm
, 0 },
1591 { X86::VANDPSYrr
, X86::VANDPSYrm
, 0 },
1592 { X86::VANDPSZ128rr
, X86::VANDPSZ128rm
, 0 },
1593 { X86::VANDPSZ256rr
, X86::VANDPSZ256rm
, 0 },
1594 { X86::VANDPSZrr
, X86::VANDPSZrm
, 0 },
1595 { X86::VANDPSrr
, X86::VANDPSrm
, 0 },
1596 { X86::VBLENDMPDZ128rr
, X86::VBLENDMPDZ128rm
, 0 },
1597 { X86::VBLENDMPDZ256rr
, X86::VBLENDMPDZ256rm
, 0 },
1598 { X86::VBLENDMPDZrr
, X86::VBLENDMPDZrm
, 0 },
1599 { X86::VBLENDMPSZ128rr
, X86::VBLENDMPSZ128rm
, 0 },
1600 { X86::VBLENDMPSZ256rr
, X86::VBLENDMPSZ256rm
, 0 },
1601 { X86::VBLENDMPSZrr
, X86::VBLENDMPSZrm
, 0 },
1602 { X86::VBLENDPDYrri
, X86::VBLENDPDYrmi
, 0 },
1603 { X86::VBLENDPDrri
, X86::VBLENDPDrmi
, 0 },
1604 { X86::VBLENDPSYrri
, X86::VBLENDPSYrmi
, 0 },
1605 { X86::VBLENDPSrri
, X86::VBLENDPSrmi
, 0 },
1606 { X86::VBLENDVPDYrr
, X86::VBLENDVPDYrm
, 0 },
1607 { X86::VBLENDVPDrr
, X86::VBLENDVPDrm
, 0 },
1608 { X86::VBLENDVPSYrr
, X86::VBLENDVPSYrm
, 0 },
1609 { X86::VBLENDVPSrr
, X86::VBLENDVPSrm
, 0 },
1610 { X86::VBROADCASTF32X2Z256rkz
, X86::VBROADCASTF32X2Z256mkz
, TB_NO_REVERSE
},
1611 { X86::VBROADCASTF32X2Zrkz
, X86::VBROADCASTF32X2Zmkz
, TB_NO_REVERSE
},
1612 { X86::VBROADCASTI32X2Z128rkz
, X86::VBROADCASTI32X2Z128mkz
, TB_NO_REVERSE
},
1613 { X86::VBROADCASTI32X2Z256rkz
, X86::VBROADCASTI32X2Z256mkz
, TB_NO_REVERSE
},
1614 { X86::VBROADCASTI32X2Zrkz
, X86::VBROADCASTI32X2Zmkz
, TB_NO_REVERSE
},
1615 { X86::VBROADCASTSDZ256rkz
, X86::VBROADCASTSDZ256mkz
, TB_NO_REVERSE
},
1616 { X86::VBROADCASTSDZrkz
, X86::VBROADCASTSDZmkz
, TB_NO_REVERSE
},
1617 { X86::VBROADCASTSSZ128rkz
, X86::VBROADCASTSSZ128mkz
, TB_NO_REVERSE
},
1618 { X86::VBROADCASTSSZ256rkz
, X86::VBROADCASTSSZ256mkz
, TB_NO_REVERSE
},
1619 { X86::VBROADCASTSSZrkz
, X86::VBROADCASTSSZmkz
, TB_NO_REVERSE
},
1620 { X86::VCMPPDYrri
, X86::VCMPPDYrmi
, 0 },
1621 { X86::VCMPPDZ128rri
, X86::VCMPPDZ128rmi
, 0 },
1622 { X86::VCMPPDZ256rri
, X86::VCMPPDZ256rmi
, 0 },
1623 { X86::VCMPPDZrri
, X86::VCMPPDZrmi
, 0 },
1624 { X86::VCMPPDrri
, X86::VCMPPDrmi
, 0 },
1625 { X86::VCMPPSYrri
, X86::VCMPPSYrmi
, 0 },
1626 { X86::VCMPPSZ128rri
, X86::VCMPPSZ128rmi
, 0 },
1627 { X86::VCMPPSZ256rri
, X86::VCMPPSZ256rmi
, 0 },
1628 { X86::VCMPPSZrri
, X86::VCMPPSZrmi
, 0 },
1629 { X86::VCMPPSrri
, X86::VCMPPSrmi
, 0 },
1630 { X86::VCMPSDZrr
, X86::VCMPSDZrm
, 0 },
1631 { X86::VCMPSDZrr_Int
, X86::VCMPSDZrm_Int
, TB_NO_REVERSE
},
1632 { X86::VCMPSDrr
, X86::VCMPSDrm
, 0 },
1633 { X86::VCMPSDrr_Int
, X86::VCMPSDrm_Int
, TB_NO_REVERSE
},
1634 { X86::VCMPSSZrr
, X86::VCMPSSZrm
, 0 },
1635 { X86::VCMPSSZrr_Int
, X86::VCMPSSZrm_Int
, TB_NO_REVERSE
},
1636 { X86::VCMPSSrr
, X86::VCMPSSrm
, 0 },
1637 { X86::VCMPSSrr_Int
, X86::VCMPSSrm_Int
, TB_NO_REVERSE
},
1638 { X86::VCVTDQ2PDZ128rrkz
, X86::VCVTDQ2PDZ128rmkz
, TB_NO_REVERSE
},
1639 { X86::VCVTDQ2PDZ256rrkz
, X86::VCVTDQ2PDZ256rmkz
, 0 },
1640 { X86::VCVTDQ2PDZrrkz
, X86::VCVTDQ2PDZrmkz
, 0 },
1641 { X86::VCVTDQ2PSZ128rrkz
, X86::VCVTDQ2PSZ128rmkz
, 0 },
1642 { X86::VCVTDQ2PSZ256rrkz
, X86::VCVTDQ2PSZ256rmkz
, 0 },
1643 { X86::VCVTDQ2PSZrrkz
, X86::VCVTDQ2PSZrmkz
, 0 },
1644 { X86::VCVTNE2PS2BF16Z128rr
, X86::VCVTNE2PS2BF16Z128rm
, 0 },
1645 { X86::VCVTNE2PS2BF16Z256rr
, X86::VCVTNE2PS2BF16Z256rm
, 0 },
1646 { X86::VCVTNE2PS2BF16Zrr
, X86::VCVTNE2PS2BF16Zrm
, 0 },
1647 { X86::VCVTNEPS2BF16Z128rrkz
, X86::VCVTNEPS2BF16Z128rmkz
, 0 },
1648 { X86::VCVTNEPS2BF16Z256rrkz
, X86::VCVTNEPS2BF16Z256rmkz
, 0 },
1649 { X86::VCVTNEPS2BF16Zrrkz
, X86::VCVTNEPS2BF16Zrmkz
, 0 },
1650 { X86::VCVTPD2DQZ128rrkz
, X86::VCVTPD2DQZ128rmkz
, 0 },
1651 { X86::VCVTPD2DQZ256rrkz
, X86::VCVTPD2DQZ256rmkz
, 0 },
1652 { X86::VCVTPD2DQZrrkz
, X86::VCVTPD2DQZrmkz
, 0 },
1653 { X86::VCVTPD2PSZ128rrkz
, X86::VCVTPD2PSZ128rmkz
, 0 },
1654 { X86::VCVTPD2PSZ256rrkz
, X86::VCVTPD2PSZ256rmkz
, 0 },
1655 { X86::VCVTPD2PSZrrkz
, X86::VCVTPD2PSZrmkz
, 0 },
1656 { X86::VCVTPD2QQZ128rrkz
, X86::VCVTPD2QQZ128rmkz
, 0 },
1657 { X86::VCVTPD2QQZ256rrkz
, X86::VCVTPD2QQZ256rmkz
, 0 },
1658 { X86::VCVTPD2QQZrrkz
, X86::VCVTPD2QQZrmkz
, 0 },
1659 { X86::VCVTPD2UDQZ128rrkz
, X86::VCVTPD2UDQZ128rmkz
, 0 },
1660 { X86::VCVTPD2UDQZ256rrkz
, X86::VCVTPD2UDQZ256rmkz
, 0 },
1661 { X86::VCVTPD2UDQZrrkz
, X86::VCVTPD2UDQZrmkz
, 0 },
1662 { X86::VCVTPD2UQQZ128rrkz
, X86::VCVTPD2UQQZ128rmkz
, 0 },
1663 { X86::VCVTPD2UQQZ256rrkz
, X86::VCVTPD2UQQZ256rmkz
, 0 },
1664 { X86::VCVTPD2UQQZrrkz
, X86::VCVTPD2UQQZrmkz
, 0 },
1665 { X86::VCVTPH2PSZ128rrkz
, X86::VCVTPH2PSZ128rmkz
, TB_NO_REVERSE
},
1666 { X86::VCVTPH2PSZ256rrkz
, X86::VCVTPH2PSZ256rmkz
, 0 },
1667 { X86::VCVTPH2PSZrrkz
, X86::VCVTPH2PSZrmkz
, 0 },
1668 { X86::VCVTPS2DQZ128rrkz
, X86::VCVTPS2DQZ128rmkz
, 0 },
1669 { X86::VCVTPS2DQZ256rrkz
, X86::VCVTPS2DQZ256rmkz
, 0 },
1670 { X86::VCVTPS2DQZrrkz
, X86::VCVTPS2DQZrmkz
, 0 },
1671 { X86::VCVTPS2PDZ128rrkz
, X86::VCVTPS2PDZ128rmkz
, TB_NO_REVERSE
},
1672 { X86::VCVTPS2PDZ256rrkz
, X86::VCVTPS2PDZ256rmkz
, 0 },
1673 { X86::VCVTPS2PDZrrkz
, X86::VCVTPS2PDZrmkz
, 0 },
1674 { X86::VCVTPS2QQZ128rrkz
, X86::VCVTPS2QQZ128rmkz
, TB_NO_REVERSE
},
1675 { X86::VCVTPS2QQZ256rrkz
, X86::VCVTPS2QQZ256rmkz
, 0 },
1676 { X86::VCVTPS2QQZrrkz
, X86::VCVTPS2QQZrmkz
, 0 },
1677 { X86::VCVTPS2UDQZ128rrkz
, X86::VCVTPS2UDQZ128rmkz
, 0 },
1678 { X86::VCVTPS2UDQZ256rrkz
, X86::VCVTPS2UDQZ256rmkz
, 0 },
1679 { X86::VCVTPS2UDQZrrkz
, X86::VCVTPS2UDQZrmkz
, 0 },
1680 { X86::VCVTPS2UQQZ128rrkz
, X86::VCVTPS2UQQZ128rmkz
, TB_NO_REVERSE
},
1681 { X86::VCVTPS2UQQZ256rrkz
, X86::VCVTPS2UQQZ256rmkz
, 0 },
1682 { X86::VCVTPS2UQQZrrkz
, X86::VCVTPS2UQQZrmkz
, 0 },
1683 { X86::VCVTQQ2PDZ128rrkz
, X86::VCVTQQ2PDZ128rmkz
, 0 },
1684 { X86::VCVTQQ2PDZ256rrkz
, X86::VCVTQQ2PDZ256rmkz
, 0 },
1685 { X86::VCVTQQ2PDZrrkz
, X86::VCVTQQ2PDZrmkz
, 0 },
1686 { X86::VCVTQQ2PSZ128rrkz
, X86::VCVTQQ2PSZ128rmkz
, 0 },
1687 { X86::VCVTQQ2PSZ256rrkz
, X86::VCVTQQ2PSZ256rmkz
, 0 },
1688 { X86::VCVTQQ2PSZrrkz
, X86::VCVTQQ2PSZrmkz
, 0 },
1689 { X86::VCVTSD2SSZrr
, X86::VCVTSD2SSZrm
, 0 },
1690 { X86::VCVTSD2SSZrr_Int
, X86::VCVTSD2SSZrm_Int
, TB_NO_REVERSE
},
1691 { X86::VCVTSD2SSrr
, X86::VCVTSD2SSrm
, 0 },
1692 { X86::VCVTSD2SSrr_Int
, X86::VCVTSD2SSrm_Int
, TB_NO_REVERSE
},
1693 { X86::VCVTSI2SDZrr
, X86::VCVTSI2SDZrm
, 0 },
1694 { X86::VCVTSI2SDZrr_Int
, X86::VCVTSI2SDZrm_Int
, 0 },
1695 { X86::VCVTSI2SDrr
, X86::VCVTSI2SDrm
, 0 },
1696 { X86::VCVTSI2SDrr_Int
, X86::VCVTSI2SDrm_Int
, 0 },
1697 { X86::VCVTSI2SSZrr
, X86::VCVTSI2SSZrm
, 0 },
1698 { X86::VCVTSI2SSZrr_Int
, X86::VCVTSI2SSZrm_Int
, 0 },
1699 { X86::VCVTSI2SSrr
, X86::VCVTSI2SSrm
, 0 },
1700 { X86::VCVTSI2SSrr_Int
, X86::VCVTSI2SSrm_Int
, 0 },
1701 { X86::VCVTSI642SDZrr
, X86::VCVTSI642SDZrm
, 0 },
1702 { X86::VCVTSI642SDZrr_Int
, X86::VCVTSI642SDZrm_Int
, 0 },
1703 { X86::VCVTSI642SDrr
, X86::VCVTSI642SDrm
, 0 },
1704 { X86::VCVTSI642SDrr_Int
, X86::VCVTSI642SDrm_Int
, 0 },
1705 { X86::VCVTSI642SSZrr
, X86::VCVTSI642SSZrm
, 0 },
1706 { X86::VCVTSI642SSZrr_Int
, X86::VCVTSI642SSZrm_Int
, 0 },
1707 { X86::VCVTSI642SSrr
, X86::VCVTSI642SSrm
, 0 },
1708 { X86::VCVTSI642SSrr_Int
, X86::VCVTSI642SSrm_Int
, 0 },
1709 { X86::VCVTSS2SDZrr
, X86::VCVTSS2SDZrm
, 0 },
1710 { X86::VCVTSS2SDZrr_Int
, X86::VCVTSS2SDZrm_Int
, TB_NO_REVERSE
},
1711 { X86::VCVTSS2SDrr
, X86::VCVTSS2SDrm
, 0 },
1712 { X86::VCVTSS2SDrr_Int
, X86::VCVTSS2SDrm_Int
, TB_NO_REVERSE
},
1713 { X86::VCVTTPD2DQZ128rrkz
, X86::VCVTTPD2DQZ128rmkz
, 0 },
1714 { X86::VCVTTPD2DQZ256rrkz
, X86::VCVTTPD2DQZ256rmkz
, 0 },
1715 { X86::VCVTTPD2DQZrrkz
, X86::VCVTTPD2DQZrmkz
, 0 },
1716 { X86::VCVTTPD2QQZ128rrkz
, X86::VCVTTPD2QQZ128rmkz
, 0 },
1717 { X86::VCVTTPD2QQZ256rrkz
, X86::VCVTTPD2QQZ256rmkz
, 0 },
1718 { X86::VCVTTPD2QQZrrkz
, X86::VCVTTPD2QQZrmkz
, 0 },
1719 { X86::VCVTTPD2UDQZ128rrkz
, X86::VCVTTPD2UDQZ128rmkz
, 0 },
1720 { X86::VCVTTPD2UDQZ256rrkz
, X86::VCVTTPD2UDQZ256rmkz
, 0 },
1721 { X86::VCVTTPD2UDQZrrkz
, X86::VCVTTPD2UDQZrmkz
, 0 },
1722 { X86::VCVTTPD2UQQZ128rrkz
, X86::VCVTTPD2UQQZ128rmkz
, 0 },
1723 { X86::VCVTTPD2UQQZ256rrkz
, X86::VCVTTPD2UQQZ256rmkz
, 0 },
1724 { X86::VCVTTPD2UQQZrrkz
, X86::VCVTTPD2UQQZrmkz
, 0 },
1725 { X86::VCVTTPS2DQZ128rrkz
, X86::VCVTTPS2DQZ128rmkz
, 0 },
1726 { X86::VCVTTPS2DQZ256rrkz
, X86::VCVTTPS2DQZ256rmkz
, 0 },
1727 { X86::VCVTTPS2DQZrrkz
, X86::VCVTTPS2DQZrmkz
, 0 },
1728 { X86::VCVTTPS2QQZ128rrkz
, X86::VCVTTPS2QQZ128rmkz
, TB_NO_REVERSE
},
1729 { X86::VCVTTPS2QQZ256rrkz
, X86::VCVTTPS2QQZ256rmkz
, 0 },
1730 { X86::VCVTTPS2QQZrrkz
, X86::VCVTTPS2QQZrmkz
, 0 },
1731 { X86::VCVTTPS2UDQZ128rrkz
, X86::VCVTTPS2UDQZ128rmkz
, 0 },
1732 { X86::VCVTTPS2UDQZ256rrkz
, X86::VCVTTPS2UDQZ256rmkz
, 0 },
1733 { X86::VCVTTPS2UDQZrrkz
, X86::VCVTTPS2UDQZrmkz
, 0 },
1734 { X86::VCVTTPS2UQQZ128rrkz
, X86::VCVTTPS2UQQZ128rmkz
, TB_NO_REVERSE
},
1735 { X86::VCVTTPS2UQQZ256rrkz
, X86::VCVTTPS2UQQZ256rmkz
, 0 },
1736 { X86::VCVTTPS2UQQZrrkz
, X86::VCVTTPS2UQQZrmkz
, 0 },
1737 { X86::VCVTUDQ2PDZ128rrkz
, X86::VCVTUDQ2PDZ128rmkz
, TB_NO_REVERSE
},
1738 { X86::VCVTUDQ2PDZ256rrkz
, X86::VCVTUDQ2PDZ256rmkz
, 0 },
1739 { X86::VCVTUDQ2PDZrrkz
, X86::VCVTUDQ2PDZrmkz
, 0 },
1740 { X86::VCVTUDQ2PSZ128rrkz
, X86::VCVTUDQ2PSZ128rmkz
, 0 },
1741 { X86::VCVTUDQ2PSZ256rrkz
, X86::VCVTUDQ2PSZ256rmkz
, 0 },
1742 { X86::VCVTUDQ2PSZrrkz
, X86::VCVTUDQ2PSZrmkz
, 0 },
1743 { X86::VCVTUQQ2PDZ128rrkz
, X86::VCVTUQQ2PDZ128rmkz
, 0 },
1744 { X86::VCVTUQQ2PDZ256rrkz
, X86::VCVTUQQ2PDZ256rmkz
, 0 },
1745 { X86::VCVTUQQ2PDZrrkz
, X86::VCVTUQQ2PDZrmkz
, 0 },
1746 { X86::VCVTUQQ2PSZ128rrkz
, X86::VCVTUQQ2PSZ128rmkz
, 0 },
1747 { X86::VCVTUQQ2PSZ256rrkz
, X86::VCVTUQQ2PSZ256rmkz
, 0 },
1748 { X86::VCVTUQQ2PSZrrkz
, X86::VCVTUQQ2PSZrmkz
, 0 },
1749 { X86::VCVTUSI2SDZrr
, X86::VCVTUSI2SDZrm
, 0 },
1750 { X86::VCVTUSI2SDZrr_Int
, X86::VCVTUSI2SDZrm_Int
, 0 },
1751 { X86::VCVTUSI2SSZrr
, X86::VCVTUSI2SSZrm
, 0 },
1752 { X86::VCVTUSI2SSZrr_Int
, X86::VCVTUSI2SSZrm_Int
, 0 },
1753 { X86::VCVTUSI642SDZrr
, X86::VCVTUSI642SDZrm
, 0 },
1754 { X86::VCVTUSI642SDZrr_Int
, X86::VCVTUSI642SDZrm_Int
, 0 },
1755 { X86::VCVTUSI642SSZrr
, X86::VCVTUSI642SSZrm
, 0 },
1756 { X86::VCVTUSI642SSZrr_Int
, X86::VCVTUSI642SSZrm_Int
, 0 },
1757 { X86::VDBPSADBWZ128rri
, X86::VDBPSADBWZ128rmi
, 0 },
1758 { X86::VDBPSADBWZ256rri
, X86::VDBPSADBWZ256rmi
, 0 },
1759 { X86::VDBPSADBWZrri
, X86::VDBPSADBWZrmi
, 0 },
1760 { X86::VDIVPDYrr
, X86::VDIVPDYrm
, 0 },
1761 { X86::VDIVPDZ128rr
, X86::VDIVPDZ128rm
, 0 },
1762 { X86::VDIVPDZ256rr
, X86::VDIVPDZ256rm
, 0 },
1763 { X86::VDIVPDZrr
, X86::VDIVPDZrm
, 0 },
1764 { X86::VDIVPDrr
, X86::VDIVPDrm
, 0 },
1765 { X86::VDIVPSYrr
, X86::VDIVPSYrm
, 0 },
1766 { X86::VDIVPSZ128rr
, X86::VDIVPSZ128rm
, 0 },
1767 { X86::VDIVPSZ256rr
, X86::VDIVPSZ256rm
, 0 },
1768 { X86::VDIVPSZrr
, X86::VDIVPSZrm
, 0 },
1769 { X86::VDIVPSrr
, X86::VDIVPSrm
, 0 },
1770 { X86::VDIVSDZrr
, X86::VDIVSDZrm
, 0 },
1771 { X86::VDIVSDZrr_Int
, X86::VDIVSDZrm_Int
, TB_NO_REVERSE
},
1772 { X86::VDIVSDrr
, X86::VDIVSDrm
, 0 },
1773 { X86::VDIVSDrr_Int
, X86::VDIVSDrm_Int
, TB_NO_REVERSE
},
1774 { X86::VDIVSSZrr
, X86::VDIVSSZrm
, 0 },
1775 { X86::VDIVSSZrr_Int
, X86::VDIVSSZrm_Int
, TB_NO_REVERSE
},
1776 { X86::VDIVSSrr
, X86::VDIVSSrm
, 0 },
1777 { X86::VDIVSSrr_Int
, X86::VDIVSSrm_Int
, TB_NO_REVERSE
},
1778 { X86::VDPPDrri
, X86::VDPPDrmi
, 0 },
1779 { X86::VDPPSYrri
, X86::VDPPSYrmi
, 0 },
1780 { X86::VDPPSrri
, X86::VDPPSrmi
, 0 },
1781 { X86::VEXP2PDZrkz
, X86::VEXP2PDZmkz
, 0 },
1782 { X86::VEXP2PSZrkz
, X86::VEXP2PSZmkz
, 0 },
1783 { X86::VEXPANDPDZ128rrkz
, X86::VEXPANDPDZ128rmkz
, TB_NO_REVERSE
},
1784 { X86::VEXPANDPDZ256rrkz
, X86::VEXPANDPDZ256rmkz
, TB_NO_REVERSE
},
1785 { X86::VEXPANDPDZrrkz
, X86::VEXPANDPDZrmkz
, TB_NO_REVERSE
},
1786 { X86::VEXPANDPSZ128rrkz
, X86::VEXPANDPSZ128rmkz
, TB_NO_REVERSE
},
1787 { X86::VEXPANDPSZ256rrkz
, X86::VEXPANDPSZ256rmkz
, TB_NO_REVERSE
},
1788 { X86::VEXPANDPSZrrkz
, X86::VEXPANDPSZrmkz
, TB_NO_REVERSE
},
1789 { X86::VFMADDPD4Yrr
, X86::VFMADDPD4Ymr
, 0 },
1790 { X86::VFMADDPD4rr
, X86::VFMADDPD4mr
, 0 },
1791 { X86::VFMADDPS4Yrr
, X86::VFMADDPS4Ymr
, 0 },
1792 { X86::VFMADDPS4rr
, X86::VFMADDPS4mr
, 0 },
1793 { X86::VFMADDSD4rr
, X86::VFMADDSD4mr
, 0 },
1794 { X86::VFMADDSD4rr_Int
, X86::VFMADDSD4mr_Int
, TB_NO_REVERSE
},
1795 { X86::VFMADDSS4rr
, X86::VFMADDSS4mr
, 0 },
1796 { X86::VFMADDSS4rr_Int
, X86::VFMADDSS4mr_Int
, TB_NO_REVERSE
},
1797 { X86::VFMADDSUBPD4Yrr
, X86::VFMADDSUBPD4Ymr
, 0 },
1798 { X86::VFMADDSUBPD4rr
, X86::VFMADDSUBPD4mr
, 0 },
1799 { X86::VFMADDSUBPS4Yrr
, X86::VFMADDSUBPS4Ymr
, 0 },
1800 { X86::VFMADDSUBPS4rr
, X86::VFMADDSUBPS4mr
, 0 },
1801 { X86::VFMSUBADDPD4Yrr
, X86::VFMSUBADDPD4Ymr
, 0 },
1802 { X86::VFMSUBADDPD4rr
, X86::VFMSUBADDPD4mr
, 0 },
1803 { X86::VFMSUBADDPS4Yrr
, X86::VFMSUBADDPS4Ymr
, 0 },
1804 { X86::VFMSUBADDPS4rr
, X86::VFMSUBADDPS4mr
, 0 },
1805 { X86::VFMSUBPD4Yrr
, X86::VFMSUBPD4Ymr
, 0 },
1806 { X86::VFMSUBPD4rr
, X86::VFMSUBPD4mr
, 0 },
1807 { X86::VFMSUBPS4Yrr
, X86::VFMSUBPS4Ymr
, 0 },
1808 { X86::VFMSUBPS4rr
, X86::VFMSUBPS4mr
, 0 },
1809 { X86::VFMSUBSD4rr
, X86::VFMSUBSD4mr
, 0 },
1810 { X86::VFMSUBSD4rr_Int
, X86::VFMSUBSD4mr_Int
, TB_NO_REVERSE
},
1811 { X86::VFMSUBSS4rr
, X86::VFMSUBSS4mr
, 0 },
1812 { X86::VFMSUBSS4rr_Int
, X86::VFMSUBSS4mr_Int
, TB_NO_REVERSE
},
1813 { X86::VFNMADDPD4Yrr
, X86::VFNMADDPD4Ymr
, 0 },
1814 { X86::VFNMADDPD4rr
, X86::VFNMADDPD4mr
, 0 },
1815 { X86::VFNMADDPS4Yrr
, X86::VFNMADDPS4Ymr
, 0 },
1816 { X86::VFNMADDPS4rr
, X86::VFNMADDPS4mr
, 0 },
1817 { X86::VFNMADDSD4rr
, X86::VFNMADDSD4mr
, 0 },
1818 { X86::VFNMADDSD4rr_Int
, X86::VFNMADDSD4mr_Int
, TB_NO_REVERSE
},
1819 { X86::VFNMADDSS4rr
, X86::VFNMADDSS4mr
, 0 },
1820 { X86::VFNMADDSS4rr_Int
, X86::VFNMADDSS4mr_Int
, TB_NO_REVERSE
},
1821 { X86::VFNMSUBPD4Yrr
, X86::VFNMSUBPD4Ymr
, 0 },
1822 { X86::VFNMSUBPD4rr
, X86::VFNMSUBPD4mr
, 0 },
1823 { X86::VFNMSUBPS4Yrr
, X86::VFNMSUBPS4Ymr
, 0 },
1824 { X86::VFNMSUBPS4rr
, X86::VFNMSUBPS4mr
, 0 },
1825 { X86::VFNMSUBSD4rr
, X86::VFNMSUBSD4mr
, 0 },
1826 { X86::VFNMSUBSD4rr_Int
, X86::VFNMSUBSD4mr_Int
, TB_NO_REVERSE
},
1827 { X86::VFNMSUBSS4rr
, X86::VFNMSUBSS4mr
, 0 },
1828 { X86::VFNMSUBSS4rr_Int
, X86::VFNMSUBSS4mr_Int
, TB_NO_REVERSE
},
1829 { X86::VFPCLASSPDZ128rrk
, X86::VFPCLASSPDZ128rmk
, 0 },
1830 { X86::VFPCLASSPDZ256rrk
, X86::VFPCLASSPDZ256rmk
, 0 },
1831 { X86::VFPCLASSPDZrrk
, X86::VFPCLASSPDZrmk
, 0 },
1832 { X86::VFPCLASSPSZ128rrk
, X86::VFPCLASSPSZ128rmk
, 0 },
1833 { X86::VFPCLASSPSZ256rrk
, X86::VFPCLASSPSZ256rmk
, 0 },
1834 { X86::VFPCLASSPSZrrk
, X86::VFPCLASSPSZrmk
, 0 },
1835 { X86::VFPCLASSSDZrrk
, X86::VFPCLASSSDZrmk
, TB_NO_REVERSE
},
1836 { X86::VFPCLASSSSZrrk
, X86::VFPCLASSSSZrmk
, TB_NO_REVERSE
},
1837 { X86::VGETEXPPDZ128rkz
, X86::VGETEXPPDZ128mkz
, 0 },
1838 { X86::VGETEXPPDZ256rkz
, X86::VGETEXPPDZ256mkz
, 0 },
1839 { X86::VGETEXPPDZrkz
, X86::VGETEXPPDZmkz
, 0 },
1840 { X86::VGETEXPPSZ128rkz
, X86::VGETEXPPSZ128mkz
, 0 },
1841 { X86::VGETEXPPSZ256rkz
, X86::VGETEXPPSZ256mkz
, 0 },
1842 { X86::VGETEXPPSZrkz
, X86::VGETEXPPSZmkz
, 0 },
1843 { X86::VGETEXPSDZr
, X86::VGETEXPSDZm
, TB_NO_REVERSE
},
1844 { X86::VGETEXPSSZr
, X86::VGETEXPSSZm
, TB_NO_REVERSE
},
1845 { X86::VGETMANTPDZ128rrikz
, X86::VGETMANTPDZ128rmikz
, 0 },
1846 { X86::VGETMANTPDZ256rrikz
, X86::VGETMANTPDZ256rmikz
, 0 },
1847 { X86::VGETMANTPDZrrikz
, X86::VGETMANTPDZrmikz
, 0 },
1848 { X86::VGETMANTPSZ128rrikz
, X86::VGETMANTPSZ128rmikz
, 0 },
1849 { X86::VGETMANTPSZ256rrikz
, X86::VGETMANTPSZ256rmikz
, 0 },
1850 { X86::VGETMANTPSZrrikz
, X86::VGETMANTPSZrmikz
, 0 },
1851 { X86::VGETMANTSDZrri
, X86::VGETMANTSDZrmi
, TB_NO_REVERSE
},
1852 { X86::VGETMANTSSZrri
, X86::VGETMANTSSZrmi
, TB_NO_REVERSE
},
1853 { X86::VGF2P8AFFINEINVQBYrri
, X86::VGF2P8AFFINEINVQBYrmi
, 0 },
1854 { X86::VGF2P8AFFINEINVQBZ128rri
, X86::VGF2P8AFFINEINVQBZ128rmi
, 0 },
1855 { X86::VGF2P8AFFINEINVQBZ256rri
, X86::VGF2P8AFFINEINVQBZ256rmi
, 0 },
1856 { X86::VGF2P8AFFINEINVQBZrri
, X86::VGF2P8AFFINEINVQBZrmi
, 0 },
1857 { X86::VGF2P8AFFINEINVQBrri
, X86::VGF2P8AFFINEINVQBrmi
, 0 },
1858 { X86::VGF2P8AFFINEQBYrri
, X86::VGF2P8AFFINEQBYrmi
, 0 },
1859 { X86::VGF2P8AFFINEQBZ128rri
, X86::VGF2P8AFFINEQBZ128rmi
, 0 },
1860 { X86::VGF2P8AFFINEQBZ256rri
, X86::VGF2P8AFFINEQBZ256rmi
, 0 },
1861 { X86::VGF2P8AFFINEQBZrri
, X86::VGF2P8AFFINEQBZrmi
, 0 },
1862 { X86::VGF2P8AFFINEQBrri
, X86::VGF2P8AFFINEQBrmi
, 0 },
1863 { X86::VGF2P8MULBYrr
, X86::VGF2P8MULBYrm
, 0 },
1864 { X86::VGF2P8MULBZ128rr
, X86::VGF2P8MULBZ128rm
, 0 },
1865 { X86::VGF2P8MULBZ256rr
, X86::VGF2P8MULBZ256rm
, 0 },
1866 { X86::VGF2P8MULBZrr
, X86::VGF2P8MULBZrm
, 0 },
1867 { X86::VGF2P8MULBrr
, X86::VGF2P8MULBrm
, 0 },
1868 { X86::VHADDPDYrr
, X86::VHADDPDYrm
, 0 },
1869 { X86::VHADDPDrr
, X86::VHADDPDrm
, 0 },
1870 { X86::VHADDPSYrr
, X86::VHADDPSYrm
, 0 },
1871 { X86::VHADDPSrr
, X86::VHADDPSrm
, 0 },
1872 { X86::VHSUBPDYrr
, X86::VHSUBPDYrm
, 0 },
1873 { X86::VHSUBPDrr
, X86::VHSUBPDrm
, 0 },
1874 { X86::VHSUBPSYrr
, X86::VHSUBPSYrm
, 0 },
1875 { X86::VHSUBPSrr
, X86::VHSUBPSrm
, 0 },
1876 { X86::VINSERTF128rr
, X86::VINSERTF128rm
, 0 },
1877 { X86::VINSERTF32x4Z256rr
, X86::VINSERTF32x4Z256rm
, 0 },
1878 { X86::VINSERTF32x4Zrr
, X86::VINSERTF32x4Zrm
, 0 },
1879 { X86::VINSERTF32x8Zrr
, X86::VINSERTF32x8Zrm
, 0 },
1880 { X86::VINSERTF64x2Z256rr
, X86::VINSERTF64x2Z256rm
, 0 },
1881 { X86::VINSERTF64x2Zrr
, X86::VINSERTF64x2Zrm
, 0 },
1882 { X86::VINSERTF64x4Zrr
, X86::VINSERTF64x4Zrm
, 0 },
1883 { X86::VINSERTI128rr
, X86::VINSERTI128rm
, 0 },
1884 { X86::VINSERTI32x4Z256rr
, X86::VINSERTI32x4Z256rm
, 0 },
1885 { X86::VINSERTI32x4Zrr
, X86::VINSERTI32x4Zrm
, 0 },
1886 { X86::VINSERTI32x8Zrr
, X86::VINSERTI32x8Zrm
, 0 },
1887 { X86::VINSERTI64x2Z256rr
, X86::VINSERTI64x2Z256rm
, 0 },
1888 { X86::VINSERTI64x2Zrr
, X86::VINSERTI64x2Zrm
, 0 },
1889 { X86::VINSERTI64x4Zrr
, X86::VINSERTI64x4Zrm
, 0 },
1890 { X86::VMAXCPDYrr
, X86::VMAXCPDYrm
, 0 },
1891 { X86::VMAXCPDZ128rr
, X86::VMAXCPDZ128rm
, 0 },
1892 { X86::VMAXCPDZ256rr
, X86::VMAXCPDZ256rm
, 0 },
1893 { X86::VMAXCPDZrr
, X86::VMAXCPDZrm
, 0 },
1894 { X86::VMAXCPDrr
, X86::VMAXCPDrm
, 0 },
1895 { X86::VMAXCPSYrr
, X86::VMAXCPSYrm
, 0 },
1896 { X86::VMAXCPSZ128rr
, X86::VMAXCPSZ128rm
, 0 },
1897 { X86::VMAXCPSZ256rr
, X86::VMAXCPSZ256rm
, 0 },
1898 { X86::VMAXCPSZrr
, X86::VMAXCPSZrm
, 0 },
1899 { X86::VMAXCPSrr
, X86::VMAXCPSrm
, 0 },
1900 { X86::VMAXCSDZrr
, X86::VMAXCSDZrm
, 0 },
1901 { X86::VMAXCSDrr
, X86::VMAXCSDrm
, 0 },
1902 { X86::VMAXCSSZrr
, X86::VMAXCSSZrm
, 0 },
1903 { X86::VMAXCSSrr
, X86::VMAXCSSrm
, 0 },
1904 { X86::VMAXPDYrr
, X86::VMAXPDYrm
, 0 },
1905 { X86::VMAXPDZ128rr
, X86::VMAXPDZ128rm
, 0 },
1906 { X86::VMAXPDZ256rr
, X86::VMAXPDZ256rm
, 0 },
1907 { X86::VMAXPDZrr
, X86::VMAXPDZrm
, 0 },
1908 { X86::VMAXPDrr
, X86::VMAXPDrm
, 0 },
1909 { X86::VMAXPSYrr
, X86::VMAXPSYrm
, 0 },
1910 { X86::VMAXPSZ128rr
, X86::VMAXPSZ128rm
, 0 },
1911 { X86::VMAXPSZ256rr
, X86::VMAXPSZ256rm
, 0 },
1912 { X86::VMAXPSZrr
, X86::VMAXPSZrm
, 0 },
1913 { X86::VMAXPSrr
, X86::VMAXPSrm
, 0 },
1914 { X86::VMAXSDZrr
, X86::VMAXSDZrm
, 0 },
1915 { X86::VMAXSDZrr_Int
, X86::VMAXSDZrm_Int
, TB_NO_REVERSE
},
1916 { X86::VMAXSDrr
, X86::VMAXSDrm
, 0 },
1917 { X86::VMAXSDrr_Int
, X86::VMAXSDrm_Int
, TB_NO_REVERSE
},
1918 { X86::VMAXSSZrr
, X86::VMAXSSZrm
, 0 },
1919 { X86::VMAXSSZrr_Int
, X86::VMAXSSZrm_Int
, TB_NO_REVERSE
},
1920 { X86::VMAXSSrr
, X86::VMAXSSrm
, 0 },
1921 { X86::VMAXSSrr_Int
, X86::VMAXSSrm_Int
, TB_NO_REVERSE
},
1922 { X86::VMINCPDYrr
, X86::VMINCPDYrm
, 0 },
1923 { X86::VMINCPDZ128rr
, X86::VMINCPDZ128rm
, 0 },
1924 { X86::VMINCPDZ256rr
, X86::VMINCPDZ256rm
, 0 },
1925 { X86::VMINCPDZrr
, X86::VMINCPDZrm
, 0 },
1926 { X86::VMINCPDrr
, X86::VMINCPDrm
, 0 },
1927 { X86::VMINCPSYrr
, X86::VMINCPSYrm
, 0 },
1928 { X86::VMINCPSZ128rr
, X86::VMINCPSZ128rm
, 0 },
1929 { X86::VMINCPSZ256rr
, X86::VMINCPSZ256rm
, 0 },
1930 { X86::VMINCPSZrr
, X86::VMINCPSZrm
, 0 },
1931 { X86::VMINCPSrr
, X86::VMINCPSrm
, 0 },
1932 { X86::VMINCSDZrr
, X86::VMINCSDZrm
, 0 },
1933 { X86::VMINCSDrr
, X86::VMINCSDrm
, 0 },
1934 { X86::VMINCSSZrr
, X86::VMINCSSZrm
, 0 },
1935 { X86::VMINCSSrr
, X86::VMINCSSrm
, 0 },
1936 { X86::VMINPDYrr
, X86::VMINPDYrm
, 0 },
1937 { X86::VMINPDZ128rr
, X86::VMINPDZ128rm
, 0 },
1938 { X86::VMINPDZ256rr
, X86::VMINPDZ256rm
, 0 },
1939 { X86::VMINPDZrr
, X86::VMINPDZrm
, 0 },
1940 { X86::VMINPDrr
, X86::VMINPDrm
, 0 },
1941 { X86::VMINPSYrr
, X86::VMINPSYrm
, 0 },
1942 { X86::VMINPSZ128rr
, X86::VMINPSZ128rm
, 0 },
1943 { X86::VMINPSZ256rr
, X86::VMINPSZ256rm
, 0 },
1944 { X86::VMINPSZrr
, X86::VMINPSZrm
, 0 },
1945 { X86::VMINPSrr
, X86::VMINPSrm
, 0 },
1946 { X86::VMINSDZrr
, X86::VMINSDZrm
, 0 },
1947 { X86::VMINSDZrr_Int
, X86::VMINSDZrm_Int
, TB_NO_REVERSE
},
1948 { X86::VMINSDrr
, X86::VMINSDrm
, 0 },
1949 { X86::VMINSDrr_Int
, X86::VMINSDrm_Int
, TB_NO_REVERSE
},
1950 { X86::VMINSSZrr
, X86::VMINSSZrm
, 0 },
1951 { X86::VMINSSZrr_Int
, X86::VMINSSZrm_Int
, TB_NO_REVERSE
},
1952 { X86::VMINSSrr
, X86::VMINSSrm
, 0 },
1953 { X86::VMINSSrr_Int
, X86::VMINSSrm_Int
, TB_NO_REVERSE
},
1954 { X86::VMOVAPDZ128rrkz
, X86::VMOVAPDZ128rmkz
, TB_NO_REVERSE
| TB_ALIGN_16
},
1955 { X86::VMOVAPDZ256rrkz
, X86::VMOVAPDZ256rmkz
, TB_NO_REVERSE
| TB_ALIGN_32
},
1956 { X86::VMOVAPDZrrkz
, X86::VMOVAPDZrmkz
, TB_NO_REVERSE
| TB_ALIGN_64
},
1957 { X86::VMOVAPSZ128rrkz
, X86::VMOVAPSZ128rmkz
, TB_NO_REVERSE
| TB_ALIGN_16
},
1958 { X86::VMOVAPSZ256rrkz
, X86::VMOVAPSZ256rmkz
, TB_NO_REVERSE
| TB_ALIGN_32
},
1959 { X86::VMOVAPSZrrkz
, X86::VMOVAPSZrmkz
, TB_NO_REVERSE
| TB_ALIGN_64
},
1960 { X86::VMOVDDUPZ128rrkz
, X86::VMOVDDUPZ128rmkz
, TB_NO_REVERSE
},
1961 { X86::VMOVDDUPZ256rrkz
, X86::VMOVDDUPZ256rmkz
, 0 },
1962 { X86::VMOVDDUPZrrkz
, X86::VMOVDDUPZrmkz
, 0 },
1963 { X86::VMOVDQA32Z128rrkz
, X86::VMOVDQA32Z128rmkz
, TB_NO_REVERSE
| TB_ALIGN_16
},
1964 { X86::VMOVDQA32Z256rrkz
, X86::VMOVDQA32Z256rmkz
, TB_NO_REVERSE
| TB_ALIGN_32
},
1965 { X86::VMOVDQA32Zrrkz
, X86::VMOVDQA32Zrmkz
, TB_NO_REVERSE
| TB_ALIGN_64
},
1966 { X86::VMOVDQA64Z128rrkz
, X86::VMOVDQA64Z128rmkz
, TB_NO_REVERSE
| TB_ALIGN_16
},
1967 { X86::VMOVDQA64Z256rrkz
, X86::VMOVDQA64Z256rmkz
, TB_NO_REVERSE
| TB_ALIGN_32
},
1968 { X86::VMOVDQA64Zrrkz
, X86::VMOVDQA64Zrmkz
, TB_NO_REVERSE
| TB_ALIGN_64
},
1969 { X86::VMOVDQU16Z128rrkz
, X86::VMOVDQU16Z128rmkz
, TB_NO_REVERSE
},
1970 { X86::VMOVDQU16Z256rrkz
, X86::VMOVDQU16Z256rmkz
, TB_NO_REVERSE
},
1971 { X86::VMOVDQU16Zrrkz
, X86::VMOVDQU16Zrmkz
, TB_NO_REVERSE
},
1972 { X86::VMOVDQU32Z128rrkz
, X86::VMOVDQU32Z128rmkz
, TB_NO_REVERSE
},
1973 { X86::VMOVDQU32Z256rrkz
, X86::VMOVDQU32Z256rmkz
, TB_NO_REVERSE
},
1974 { X86::VMOVDQU32Zrrkz
, X86::VMOVDQU32Zrmkz
, TB_NO_REVERSE
},
1975 { X86::VMOVDQU64Z128rrkz
, X86::VMOVDQU64Z128rmkz
, TB_NO_REVERSE
},
1976 { X86::VMOVDQU64Z256rrkz
, X86::VMOVDQU64Z256rmkz
, TB_NO_REVERSE
},
1977 { X86::VMOVDQU64Zrrkz
, X86::VMOVDQU64Zrmkz
, TB_NO_REVERSE
},
1978 { X86::VMOVDQU8Z128rrkz
, X86::VMOVDQU8Z128rmkz
, TB_NO_REVERSE
},
1979 { X86::VMOVDQU8Z256rrkz
, X86::VMOVDQU8Z256rmkz
, TB_NO_REVERSE
},
1980 { X86::VMOVDQU8Zrrkz
, X86::VMOVDQU8Zrmkz
, TB_NO_REVERSE
},
1981 { X86::VMOVLHPSZrr
, X86::VMOVHPSZ128rm
, TB_NO_REVERSE
},
1982 { X86::VMOVLHPSrr
, X86::VMOVHPSrm
, TB_NO_REVERSE
},
1983 { X86::VMOVSDZrr
, X86::VMOVLPDZ128rm
, TB_NO_REVERSE
},
1984 { X86::VMOVSDrr
, X86::VMOVLPDrm
, TB_NO_REVERSE
},
1985 { X86::VMOVSHDUPZ128rrkz
, X86::VMOVSHDUPZ128rmkz
, 0 },
1986 { X86::VMOVSHDUPZ256rrkz
, X86::VMOVSHDUPZ256rmkz
, 0 },
1987 { X86::VMOVSHDUPZrrkz
, X86::VMOVSHDUPZrmkz
, 0 },
1988 { X86::VMOVSLDUPZ128rrkz
, X86::VMOVSLDUPZ128rmkz
, 0 },
1989 { X86::VMOVSLDUPZ256rrkz
, X86::VMOVSLDUPZ256rmkz
, 0 },
1990 { X86::VMOVSLDUPZrrkz
, X86::VMOVSLDUPZrmkz
, 0 },
1991 { X86::VMOVUPDZ128rrkz
, X86::VMOVUPDZ128rmkz
, TB_NO_REVERSE
},
1992 { X86::VMOVUPDZ256rrkz
, X86::VMOVUPDZ256rmkz
, TB_NO_REVERSE
},
1993 { X86::VMOVUPDZrrkz
, X86::VMOVUPDZrmkz
, TB_NO_REVERSE
},
1994 { X86::VMOVUPSZ128rrkz
, X86::VMOVUPSZ128rmkz
, TB_NO_REVERSE
},
1995 { X86::VMOVUPSZ256rrkz
, X86::VMOVUPSZ256rmkz
, TB_NO_REVERSE
},
1996 { X86::VMOVUPSZrrkz
, X86::VMOVUPSZrmkz
, TB_NO_REVERSE
},
1997 { X86::VMPSADBWYrri
, X86::VMPSADBWYrmi
, 0 },
1998 { X86::VMPSADBWrri
, X86::VMPSADBWrmi
, 0 },
1999 { X86::VMULPDYrr
, X86::VMULPDYrm
, 0 },
2000 { X86::VMULPDZ128rr
, X86::VMULPDZ128rm
, 0 },
2001 { X86::VMULPDZ256rr
, X86::VMULPDZ256rm
, 0 },
2002 { X86::VMULPDZrr
, X86::VMULPDZrm
, 0 },
2003 { X86::VMULPDrr
, X86::VMULPDrm
, 0 },
2004 { X86::VMULPSYrr
, X86::VMULPSYrm
, 0 },
2005 { X86::VMULPSZ128rr
, X86::VMULPSZ128rm
, 0 },
2006 { X86::VMULPSZ256rr
, X86::VMULPSZ256rm
, 0 },
2007 { X86::VMULPSZrr
, X86::VMULPSZrm
, 0 },
2008 { X86::VMULPSrr
, X86::VMULPSrm
, 0 },
2009 { X86::VMULSDZrr
, X86::VMULSDZrm
, 0 },
2010 { X86::VMULSDZrr_Int
, X86::VMULSDZrm_Int
, TB_NO_REVERSE
},
2011 { X86::VMULSDrr
, X86::VMULSDrm
, 0 },
2012 { X86::VMULSDrr_Int
, X86::VMULSDrm_Int
, TB_NO_REVERSE
},
2013 { X86::VMULSSZrr
, X86::VMULSSZrm
, 0 },
2014 { X86::VMULSSZrr_Int
, X86::VMULSSZrm_Int
, TB_NO_REVERSE
},
2015 { X86::VMULSSrr
, X86::VMULSSrm
, 0 },
2016 { X86::VMULSSrr_Int
, X86::VMULSSrm_Int
, TB_NO_REVERSE
},
2017 { X86::VORPDYrr
, X86::VORPDYrm
, 0 },
2018 { X86::VORPDZ128rr
, X86::VORPDZ128rm
, 0 },
2019 { X86::VORPDZ256rr
, X86::VORPDZ256rm
, 0 },
2020 { X86::VORPDZrr
, X86::VORPDZrm
, 0 },
2021 { X86::VORPDrr
, X86::VORPDrm
, 0 },
2022 { X86::VORPSYrr
, X86::VORPSYrm
, 0 },
2023 { X86::VORPSZ128rr
, X86::VORPSZ128rm
, 0 },
2024 { X86::VORPSZ256rr
, X86::VORPSZ256rm
, 0 },
2025 { X86::VORPSZrr
, X86::VORPSZrm
, 0 },
2026 { X86::VORPSrr
, X86::VORPSrm
, 0 },
2027 { X86::VP2INTERSECTDZ128rr
, X86::VP2INTERSECTDZ128rm
, 0 },
2028 { X86::VP2INTERSECTDZ256rr
, X86::VP2INTERSECTDZ256rm
, 0 },
2029 { X86::VP2INTERSECTDZrr
, X86::VP2INTERSECTDZrm
, 0 },
2030 { X86::VP2INTERSECTQZ128rr
, X86::VP2INTERSECTQZ128rm
, 0 },
2031 { X86::VP2INTERSECTQZ256rr
, X86::VP2INTERSECTQZ256rm
, 0 },
2032 { X86::VP2INTERSECTQZrr
, X86::VP2INTERSECTQZrm
, 0 },
2033 { X86::VPABSBZ128rrkz
, X86::VPABSBZ128rmkz
, 0 },
2034 { X86::VPABSBZ256rrkz
, X86::VPABSBZ256rmkz
, 0 },
2035 { X86::VPABSBZrrkz
, X86::VPABSBZrmkz
, 0 },
2036 { X86::VPABSDZ128rrkz
, X86::VPABSDZ128rmkz
, 0 },
2037 { X86::VPABSDZ256rrkz
, X86::VPABSDZ256rmkz
, 0 },
2038 { X86::VPABSDZrrkz
, X86::VPABSDZrmkz
, 0 },
2039 { X86::VPABSQZ128rrkz
, X86::VPABSQZ128rmkz
, 0 },
2040 { X86::VPABSQZ256rrkz
, X86::VPABSQZ256rmkz
, 0 },
2041 { X86::VPABSQZrrkz
, X86::VPABSQZrmkz
, 0 },
2042 { X86::VPABSWZ128rrkz
, X86::VPABSWZ128rmkz
, 0 },
2043 { X86::VPABSWZ256rrkz
, X86::VPABSWZ256rmkz
, 0 },
2044 { X86::VPABSWZrrkz
, X86::VPABSWZrmkz
, 0 },
2045 { X86::VPACKSSDWYrr
, X86::VPACKSSDWYrm
, 0 },
2046 { X86::VPACKSSDWZ128rr
, X86::VPACKSSDWZ128rm
, 0 },
2047 { X86::VPACKSSDWZ256rr
, X86::VPACKSSDWZ256rm
, 0 },
2048 { X86::VPACKSSDWZrr
, X86::VPACKSSDWZrm
, 0 },
2049 { X86::VPACKSSDWrr
, X86::VPACKSSDWrm
, 0 },
2050 { X86::VPACKSSWBYrr
, X86::VPACKSSWBYrm
, 0 },
2051 { X86::VPACKSSWBZ128rr
, X86::VPACKSSWBZ128rm
, 0 },
2052 { X86::VPACKSSWBZ256rr
, X86::VPACKSSWBZ256rm
, 0 },
2053 { X86::VPACKSSWBZrr
, X86::VPACKSSWBZrm
, 0 },
2054 { X86::VPACKSSWBrr
, X86::VPACKSSWBrm
, 0 },
2055 { X86::VPACKUSDWYrr
, X86::VPACKUSDWYrm
, 0 },
2056 { X86::VPACKUSDWZ128rr
, X86::VPACKUSDWZ128rm
, 0 },
2057 { X86::VPACKUSDWZ256rr
, X86::VPACKUSDWZ256rm
, 0 },
2058 { X86::VPACKUSDWZrr
, X86::VPACKUSDWZrm
, 0 },
2059 { X86::VPACKUSDWrr
, X86::VPACKUSDWrm
, 0 },
2060 { X86::VPACKUSWBYrr
, X86::VPACKUSWBYrm
, 0 },
2061 { X86::VPACKUSWBZ128rr
, X86::VPACKUSWBZ128rm
, 0 },
2062 { X86::VPACKUSWBZ256rr
, X86::VPACKUSWBZ256rm
, 0 },
2063 { X86::VPACKUSWBZrr
, X86::VPACKUSWBZrm
, 0 },
2064 { X86::VPACKUSWBrr
, X86::VPACKUSWBrm
, 0 },
2065 { X86::VPADDBYrr
, X86::VPADDBYrm
, 0 },
2066 { X86::VPADDBZ128rr
, X86::VPADDBZ128rm
, 0 },
2067 { X86::VPADDBZ256rr
, X86::VPADDBZ256rm
, 0 },
2068 { X86::VPADDBZrr
, X86::VPADDBZrm
, 0 },
2069 { X86::VPADDBrr
, X86::VPADDBrm
, 0 },
2070 { X86::VPADDDYrr
, X86::VPADDDYrm
, 0 },
2071 { X86::VPADDDZ128rr
, X86::VPADDDZ128rm
, 0 },
2072 { X86::VPADDDZ256rr
, X86::VPADDDZ256rm
, 0 },
2073 { X86::VPADDDZrr
, X86::VPADDDZrm
, 0 },
2074 { X86::VPADDDrr
, X86::VPADDDrm
, 0 },
2075 { X86::VPADDQYrr
, X86::VPADDQYrm
, 0 },
2076 { X86::VPADDQZ128rr
, X86::VPADDQZ128rm
, 0 },
2077 { X86::VPADDQZ256rr
, X86::VPADDQZ256rm
, 0 },
2078 { X86::VPADDQZrr
, X86::VPADDQZrm
, 0 },
2079 { X86::VPADDQrr
, X86::VPADDQrm
, 0 },
2080 { X86::VPADDSBYrr
, X86::VPADDSBYrm
, 0 },
2081 { X86::VPADDSBZ128rr
, X86::VPADDSBZ128rm
, 0 },
2082 { X86::VPADDSBZ256rr
, X86::VPADDSBZ256rm
, 0 },
2083 { X86::VPADDSBZrr
, X86::VPADDSBZrm
, 0 },
2084 { X86::VPADDSBrr
, X86::VPADDSBrm
, 0 },
2085 { X86::VPADDSWYrr
, X86::VPADDSWYrm
, 0 },
2086 { X86::VPADDSWZ128rr
, X86::VPADDSWZ128rm
, 0 },
2087 { X86::VPADDSWZ256rr
, X86::VPADDSWZ256rm
, 0 },
2088 { X86::VPADDSWZrr
, X86::VPADDSWZrm
, 0 },
2089 { X86::VPADDSWrr
, X86::VPADDSWrm
, 0 },
2090 { X86::VPADDUSBYrr
, X86::VPADDUSBYrm
, 0 },
2091 { X86::VPADDUSBZ128rr
, X86::VPADDUSBZ128rm
, 0 },
2092 { X86::VPADDUSBZ256rr
, X86::VPADDUSBZ256rm
, 0 },
2093 { X86::VPADDUSBZrr
, X86::VPADDUSBZrm
, 0 },
2094 { X86::VPADDUSBrr
, X86::VPADDUSBrm
, 0 },
2095 { X86::VPADDUSWYrr
, X86::VPADDUSWYrm
, 0 },
2096 { X86::VPADDUSWZ128rr
, X86::VPADDUSWZ128rm
, 0 },
2097 { X86::VPADDUSWZ256rr
, X86::VPADDUSWZ256rm
, 0 },
2098 { X86::VPADDUSWZrr
, X86::VPADDUSWZrm
, 0 },
2099 { X86::VPADDUSWrr
, X86::VPADDUSWrm
, 0 },
2100 { X86::VPADDWYrr
, X86::VPADDWYrm
, 0 },
2101 { X86::VPADDWZ128rr
, X86::VPADDWZ128rm
, 0 },
2102 { X86::VPADDWZ256rr
, X86::VPADDWZ256rm
, 0 },
2103 { X86::VPADDWZrr
, X86::VPADDWZrm
, 0 },
2104 { X86::VPADDWrr
, X86::VPADDWrm
, 0 },
2105 { X86::VPALIGNRYrri
, X86::VPALIGNRYrmi
, 0 },
2106 { X86::VPALIGNRZ128rri
, X86::VPALIGNRZ128rmi
, 0 },
2107 { X86::VPALIGNRZ256rri
, X86::VPALIGNRZ256rmi
, 0 },
2108 { X86::VPALIGNRZrri
, X86::VPALIGNRZrmi
, 0 },
2109 { X86::VPALIGNRrri
, X86::VPALIGNRrmi
, 0 },
2110 { X86::VPANDDZ128rr
, X86::VPANDDZ128rm
, 0 },
2111 { X86::VPANDDZ256rr
, X86::VPANDDZ256rm
, 0 },
2112 { X86::VPANDDZrr
, X86::VPANDDZrm
, 0 },
2113 { X86::VPANDNDZ128rr
, X86::VPANDNDZ128rm
, 0 },
2114 { X86::VPANDNDZ256rr
, X86::VPANDNDZ256rm
, 0 },
2115 { X86::VPANDNDZrr
, X86::VPANDNDZrm
, 0 },
2116 { X86::VPANDNQZ128rr
, X86::VPANDNQZ128rm
, 0 },
2117 { X86::VPANDNQZ256rr
, X86::VPANDNQZ256rm
, 0 },
2118 { X86::VPANDNQZrr
, X86::VPANDNQZrm
, 0 },
2119 { X86::VPANDNYrr
, X86::VPANDNYrm
, 0 },
2120 { X86::VPANDNrr
, X86::VPANDNrm
, 0 },
2121 { X86::VPANDQZ128rr
, X86::VPANDQZ128rm
, 0 },
2122 { X86::VPANDQZ256rr
, X86::VPANDQZ256rm
, 0 },
2123 { X86::VPANDQZrr
, X86::VPANDQZrm
, 0 },
2124 { X86::VPANDYrr
, X86::VPANDYrm
, 0 },
2125 { X86::VPANDrr
, X86::VPANDrm
, 0 },
2126 { X86::VPAVGBYrr
, X86::VPAVGBYrm
, 0 },
2127 { X86::VPAVGBZ128rr
, X86::VPAVGBZ128rm
, 0 },
2128 { X86::VPAVGBZ256rr
, X86::VPAVGBZ256rm
, 0 },
2129 { X86::VPAVGBZrr
, X86::VPAVGBZrm
, 0 },
2130 { X86::VPAVGBrr
, X86::VPAVGBrm
, 0 },
2131 { X86::VPAVGWYrr
, X86::VPAVGWYrm
, 0 },
2132 { X86::VPAVGWZ128rr
, X86::VPAVGWZ128rm
, 0 },
2133 { X86::VPAVGWZ256rr
, X86::VPAVGWZ256rm
, 0 },
2134 { X86::VPAVGWZrr
, X86::VPAVGWZrm
, 0 },
2135 { X86::VPAVGWrr
, X86::VPAVGWrm
, 0 },
2136 { X86::VPBLENDDYrri
, X86::VPBLENDDYrmi
, 0 },
2137 { X86::VPBLENDDrri
, X86::VPBLENDDrmi
, 0 },
2138 { X86::VPBLENDMBZ128rr
, X86::VPBLENDMBZ128rm
, 0 },
2139 { X86::VPBLENDMBZ256rr
, X86::VPBLENDMBZ256rm
, 0 },
2140 { X86::VPBLENDMBZrr
, X86::VPBLENDMBZrm
, 0 },
2141 { X86::VPBLENDMDZ128rr
, X86::VPBLENDMDZ128rm
, 0 },
2142 { X86::VPBLENDMDZ256rr
, X86::VPBLENDMDZ256rm
, 0 },
2143 { X86::VPBLENDMDZrr
, X86::VPBLENDMDZrm
, 0 },
2144 { X86::VPBLENDMQZ128rr
, X86::VPBLENDMQZ128rm
, 0 },
2145 { X86::VPBLENDMQZ256rr
, X86::VPBLENDMQZ256rm
, 0 },
2146 { X86::VPBLENDMQZrr
, X86::VPBLENDMQZrm
, 0 },
2147 { X86::VPBLENDMWZ128rr
, X86::VPBLENDMWZ128rm
, 0 },
2148 { X86::VPBLENDMWZ256rr
, X86::VPBLENDMWZ256rm
, 0 },
2149 { X86::VPBLENDMWZrr
, X86::VPBLENDMWZrm
, 0 },
2150 { X86::VPBLENDVBYrr
, X86::VPBLENDVBYrm
, 0 },
2151 { X86::VPBLENDVBrr
, X86::VPBLENDVBrm
, 0 },
2152 { X86::VPBLENDWYrri
, X86::VPBLENDWYrmi
, 0 },
2153 { X86::VPBLENDWrri
, X86::VPBLENDWrmi
, 0 },
2154 { X86::VPBROADCASTBZ128rkz
, X86::VPBROADCASTBZ128mkz
, TB_NO_REVERSE
},
2155 { X86::VPBROADCASTBZ256rkz
, X86::VPBROADCASTBZ256mkz
, TB_NO_REVERSE
},
2156 { X86::VPBROADCASTBZrkz
, X86::VPBROADCASTBZmkz
, TB_NO_REVERSE
},
2157 { X86::VPBROADCASTDZ128rkz
, X86::VPBROADCASTDZ128mkz
, TB_NO_REVERSE
},
2158 { X86::VPBROADCASTDZ256rkz
, X86::VPBROADCASTDZ256mkz
, TB_NO_REVERSE
},
2159 { X86::VPBROADCASTDZrkz
, X86::VPBROADCASTDZmkz
, TB_NO_REVERSE
},
2160 { X86::VPBROADCASTQZ128rkz
, X86::VPBROADCASTQZ128mkz
, TB_NO_REVERSE
},
2161 { X86::VPBROADCASTQZ256rkz
, X86::VPBROADCASTQZ256mkz
, TB_NO_REVERSE
},
2162 { X86::VPBROADCASTQZrkz
, X86::VPBROADCASTQZmkz
, TB_NO_REVERSE
},
2163 { X86::VPBROADCASTWZ128rkz
, X86::VPBROADCASTWZ128mkz
, TB_NO_REVERSE
},
2164 { X86::VPBROADCASTWZ256rkz
, X86::VPBROADCASTWZ256mkz
, TB_NO_REVERSE
},
2165 { X86::VPBROADCASTWZrkz
, X86::VPBROADCASTWZmkz
, TB_NO_REVERSE
},
2166 { X86::VPCLMULQDQYrr
, X86::VPCLMULQDQYrm
, 0 },
2167 { X86::VPCLMULQDQZ128rr
, X86::VPCLMULQDQZ128rm
, 0 },
2168 { X86::VPCLMULQDQZ256rr
, X86::VPCLMULQDQZ256rm
, 0 },
2169 { X86::VPCLMULQDQZrr
, X86::VPCLMULQDQZrm
, 0 },
2170 { X86::VPCLMULQDQrr
, X86::VPCLMULQDQrm
, 0 },
2171 { X86::VPCMOVYrrr
, X86::VPCMOVYrmr
, 0 },
2172 { X86::VPCMOVrrr
, X86::VPCMOVrmr
, 0 },
2173 { X86::VPCMPBZ128rri
, X86::VPCMPBZ128rmi
, 0 },
2174 { X86::VPCMPBZ256rri
, X86::VPCMPBZ256rmi
, 0 },
2175 { X86::VPCMPBZrri
, X86::VPCMPBZrmi
, 0 },
2176 { X86::VPCMPDZ128rri
, X86::VPCMPDZ128rmi
, 0 },
2177 { X86::VPCMPDZ256rri
, X86::VPCMPDZ256rmi
, 0 },
2178 { X86::VPCMPDZrri
, X86::VPCMPDZrmi
, 0 },
2179 { X86::VPCMPEQBYrr
, X86::VPCMPEQBYrm
, 0 },
2180 { X86::VPCMPEQBZ128rr
, X86::VPCMPEQBZ128rm
, 0 },
2181 { X86::VPCMPEQBZ256rr
, X86::VPCMPEQBZ256rm
, 0 },
2182 { X86::VPCMPEQBZrr
, X86::VPCMPEQBZrm
, 0 },
2183 { X86::VPCMPEQBrr
, X86::VPCMPEQBrm
, 0 },
2184 { X86::VPCMPEQDYrr
, X86::VPCMPEQDYrm
, 0 },
2185 { X86::VPCMPEQDZ128rr
, X86::VPCMPEQDZ128rm
, 0 },
2186 { X86::VPCMPEQDZ256rr
, X86::VPCMPEQDZ256rm
, 0 },
2187 { X86::VPCMPEQDZrr
, X86::VPCMPEQDZrm
, 0 },
2188 { X86::VPCMPEQDrr
, X86::VPCMPEQDrm
, 0 },
2189 { X86::VPCMPEQQYrr
, X86::VPCMPEQQYrm
, 0 },
2190 { X86::VPCMPEQQZ128rr
, X86::VPCMPEQQZ128rm
, 0 },
2191 { X86::VPCMPEQQZ256rr
, X86::VPCMPEQQZ256rm
, 0 },
2192 { X86::VPCMPEQQZrr
, X86::VPCMPEQQZrm
, 0 },
2193 { X86::VPCMPEQQrr
, X86::VPCMPEQQrm
, 0 },
2194 { X86::VPCMPEQWYrr
, X86::VPCMPEQWYrm
, 0 },
2195 { X86::VPCMPEQWZ128rr
, X86::VPCMPEQWZ128rm
, 0 },
2196 { X86::VPCMPEQWZ256rr
, X86::VPCMPEQWZ256rm
, 0 },
2197 { X86::VPCMPEQWZrr
, X86::VPCMPEQWZrm
, 0 },
2198 { X86::VPCMPEQWrr
, X86::VPCMPEQWrm
, 0 },
2199 { X86::VPCMPGTBYrr
, X86::VPCMPGTBYrm
, 0 },
2200 { X86::VPCMPGTBZ128rr
, X86::VPCMPGTBZ128rm
, 0 },
2201 { X86::VPCMPGTBZ256rr
, X86::VPCMPGTBZ256rm
, 0 },
2202 { X86::VPCMPGTBZrr
, X86::VPCMPGTBZrm
, 0 },
2203 { X86::VPCMPGTBrr
, X86::VPCMPGTBrm
, 0 },
2204 { X86::VPCMPGTDYrr
, X86::VPCMPGTDYrm
, 0 },
2205 { X86::VPCMPGTDZ128rr
, X86::VPCMPGTDZ128rm
, 0 },
2206 { X86::VPCMPGTDZ256rr
, X86::VPCMPGTDZ256rm
, 0 },
2207 { X86::VPCMPGTDZrr
, X86::VPCMPGTDZrm
, 0 },
2208 { X86::VPCMPGTDrr
, X86::VPCMPGTDrm
, 0 },
2209 { X86::VPCMPGTQYrr
, X86::VPCMPGTQYrm
, 0 },
2210 { X86::VPCMPGTQZ128rr
, X86::VPCMPGTQZ128rm
, 0 },
2211 { X86::VPCMPGTQZ256rr
, X86::VPCMPGTQZ256rm
, 0 },
2212 { X86::VPCMPGTQZrr
, X86::VPCMPGTQZrm
, 0 },
2213 { X86::VPCMPGTQrr
, X86::VPCMPGTQrm
, 0 },
2214 { X86::VPCMPGTWYrr
, X86::VPCMPGTWYrm
, 0 },
2215 { X86::VPCMPGTWZ128rr
, X86::VPCMPGTWZ128rm
, 0 },
2216 { X86::VPCMPGTWZ256rr
, X86::VPCMPGTWZ256rm
, 0 },
2217 { X86::VPCMPGTWZrr
, X86::VPCMPGTWZrm
, 0 },
2218 { X86::VPCMPGTWrr
, X86::VPCMPGTWrm
, 0 },
2219 { X86::VPCMPQZ128rri
, X86::VPCMPQZ128rmi
, 0 },
2220 { X86::VPCMPQZ256rri
, X86::VPCMPQZ256rmi
, 0 },
2221 { X86::VPCMPQZrri
, X86::VPCMPQZrmi
, 0 },
2222 { X86::VPCMPUBZ128rri
, X86::VPCMPUBZ128rmi
, 0 },
2223 { X86::VPCMPUBZ256rri
, X86::VPCMPUBZ256rmi
, 0 },
2224 { X86::VPCMPUBZrri
, X86::VPCMPUBZrmi
, 0 },
2225 { X86::VPCMPUDZ128rri
, X86::VPCMPUDZ128rmi
, 0 },
2226 { X86::VPCMPUDZ256rri
, X86::VPCMPUDZ256rmi
, 0 },
2227 { X86::VPCMPUDZrri
, X86::VPCMPUDZrmi
, 0 },
2228 { X86::VPCMPUQZ128rri
, X86::VPCMPUQZ128rmi
, 0 },
2229 { X86::VPCMPUQZ256rri
, X86::VPCMPUQZ256rmi
, 0 },
2230 { X86::VPCMPUQZrri
, X86::VPCMPUQZrmi
, 0 },
2231 { X86::VPCMPUWZ128rri
, X86::VPCMPUWZ128rmi
, 0 },
2232 { X86::VPCMPUWZ256rri
, X86::VPCMPUWZ256rmi
, 0 },
2233 { X86::VPCMPUWZrri
, X86::VPCMPUWZrmi
, 0 },
2234 { X86::VPCMPWZ128rri
, X86::VPCMPWZ128rmi
, 0 },
2235 { X86::VPCMPWZ256rri
, X86::VPCMPWZ256rmi
, 0 },
2236 { X86::VPCMPWZrri
, X86::VPCMPWZrmi
, 0 },
2237 { X86::VPCOMBri
, X86::VPCOMBmi
, 0 },
2238 { X86::VPCOMDri
, X86::VPCOMDmi
, 0 },
2239 { X86::VPCOMQri
, X86::VPCOMQmi
, 0 },
2240 { X86::VPCOMUBri
, X86::VPCOMUBmi
, 0 },
2241 { X86::VPCOMUDri
, X86::VPCOMUDmi
, 0 },
2242 { X86::VPCOMUQri
, X86::VPCOMUQmi
, 0 },
2243 { X86::VPCOMUWri
, X86::VPCOMUWmi
, 0 },
2244 { X86::VPCOMWri
, X86::VPCOMWmi
, 0 },
2245 { X86::VPCONFLICTDZ128rrkz
, X86::VPCONFLICTDZ128rmkz
, 0 },
2246 { X86::VPCONFLICTDZ256rrkz
, X86::VPCONFLICTDZ256rmkz
, 0 },
2247 { X86::VPCONFLICTDZrrkz
, X86::VPCONFLICTDZrmkz
, 0 },
2248 { X86::VPCONFLICTQZ128rrkz
, X86::VPCONFLICTQZ128rmkz
, 0 },
2249 { X86::VPCONFLICTQZ256rrkz
, X86::VPCONFLICTQZ256rmkz
, 0 },
2250 { X86::VPCONFLICTQZrrkz
, X86::VPCONFLICTQZrmkz
, 0 },
2251 { X86::VPERM2F128rr
, X86::VPERM2F128rm
, 0 },
2252 { X86::VPERM2I128rr
, X86::VPERM2I128rm
, 0 },
2253 { X86::VPERMBZ128rr
, X86::VPERMBZ128rm
, 0 },
2254 { X86::VPERMBZ256rr
, X86::VPERMBZ256rm
, 0 },
2255 { X86::VPERMBZrr
, X86::VPERMBZrm
, 0 },
2256 { X86::VPERMDYrr
, X86::VPERMDYrm
, 0 },
2257 { X86::VPERMDZ256rr
, X86::VPERMDZ256rm
, 0 },
2258 { X86::VPERMDZrr
, X86::VPERMDZrm
, 0 },
2259 { X86::VPERMIL2PDYrr
, X86::VPERMIL2PDYmr
, 0 },
2260 { X86::VPERMIL2PDrr
, X86::VPERMIL2PDmr
, 0 },
2261 { X86::VPERMIL2PSYrr
, X86::VPERMIL2PSYmr
, 0 },
2262 { X86::VPERMIL2PSrr
, X86::VPERMIL2PSmr
, 0 },
2263 { X86::VPERMILPDYrr
, X86::VPERMILPDYrm
, 0 },
2264 { X86::VPERMILPDZ128rikz
, X86::VPERMILPDZ128mikz
, 0 },
2265 { X86::VPERMILPDZ128rr
, X86::VPERMILPDZ128rm
, 0 },
2266 { X86::VPERMILPDZ256rikz
, X86::VPERMILPDZ256mikz
, 0 },
2267 { X86::VPERMILPDZ256rr
, X86::VPERMILPDZ256rm
, 0 },
2268 { X86::VPERMILPDZrikz
, X86::VPERMILPDZmikz
, 0 },
2269 { X86::VPERMILPDZrr
, X86::VPERMILPDZrm
, 0 },
2270 { X86::VPERMILPDrr
, X86::VPERMILPDrm
, 0 },
2271 { X86::VPERMILPSYrr
, X86::VPERMILPSYrm
, 0 },
2272 { X86::VPERMILPSZ128rikz
, X86::VPERMILPSZ128mikz
, 0 },
2273 { X86::VPERMILPSZ128rr
, X86::VPERMILPSZ128rm
, 0 },
2274 { X86::VPERMILPSZ256rikz
, X86::VPERMILPSZ256mikz
, 0 },
2275 { X86::VPERMILPSZ256rr
, X86::VPERMILPSZ256rm
, 0 },
2276 { X86::VPERMILPSZrikz
, X86::VPERMILPSZmikz
, 0 },
2277 { X86::VPERMILPSZrr
, X86::VPERMILPSZrm
, 0 },
2278 { X86::VPERMILPSrr
, X86::VPERMILPSrm
, 0 },
2279 { X86::VPERMPDZ256rikz
, X86::VPERMPDZ256mikz
, 0 },
2280 { X86::VPERMPDZ256rr
, X86::VPERMPDZ256rm
, 0 },
2281 { X86::VPERMPDZrikz
, X86::VPERMPDZmikz
, 0 },
2282 { X86::VPERMPDZrr
, X86::VPERMPDZrm
, 0 },
2283 { X86::VPERMPSYrr
, X86::VPERMPSYrm
, 0 },
2284 { X86::VPERMPSZ256rr
, X86::VPERMPSZ256rm
, 0 },
2285 { X86::VPERMPSZrr
, X86::VPERMPSZrm
, 0 },
2286 { X86::VPERMQZ256rikz
, X86::VPERMQZ256mikz
, 0 },
2287 { X86::VPERMQZ256rr
, X86::VPERMQZ256rm
, 0 },
2288 { X86::VPERMQZrikz
, X86::VPERMQZmikz
, 0 },
2289 { X86::VPERMQZrr
, X86::VPERMQZrm
, 0 },
2290 { X86::VPERMWZ128rr
, X86::VPERMWZ128rm
, 0 },
2291 { X86::VPERMWZ256rr
, X86::VPERMWZ256rm
, 0 },
2292 { X86::VPERMWZrr
, X86::VPERMWZrm
, 0 },
2293 { X86::VPEXPANDBZ128rrkz
, X86::VPEXPANDBZ128rmkz
, TB_NO_REVERSE
},
2294 { X86::VPEXPANDBZ256rrkz
, X86::VPEXPANDBZ256rmkz
, TB_NO_REVERSE
},
2295 { X86::VPEXPANDBZrrkz
, X86::VPEXPANDBZrmkz
, TB_NO_REVERSE
},
2296 { X86::VPEXPANDDZ128rrkz
, X86::VPEXPANDDZ128rmkz
, TB_NO_REVERSE
},
2297 { X86::VPEXPANDDZ256rrkz
, X86::VPEXPANDDZ256rmkz
, TB_NO_REVERSE
},
2298 { X86::VPEXPANDDZrrkz
, X86::VPEXPANDDZrmkz
, TB_NO_REVERSE
},
2299 { X86::VPEXPANDQZ128rrkz
, X86::VPEXPANDQZ128rmkz
, TB_NO_REVERSE
},
2300 { X86::VPEXPANDQZ256rrkz
, X86::VPEXPANDQZ256rmkz
, TB_NO_REVERSE
},
2301 { X86::VPEXPANDQZrrkz
, X86::VPEXPANDQZrmkz
, TB_NO_REVERSE
},
2302 { X86::VPEXPANDWZ128rrkz
, X86::VPEXPANDWZ128rmkz
, TB_NO_REVERSE
},
2303 { X86::VPEXPANDWZ256rrkz
, X86::VPEXPANDWZ256rmkz
, TB_NO_REVERSE
},
2304 { X86::VPEXPANDWZrrkz
, X86::VPEXPANDWZrmkz
, TB_NO_REVERSE
},
2305 { X86::VPHADDDYrr
, X86::VPHADDDYrm
, 0 },
2306 { X86::VPHADDDrr
, X86::VPHADDDrm
, 0 },
2307 { X86::VPHADDSWYrr
, X86::VPHADDSWYrm
, 0 },
2308 { X86::VPHADDSWrr
, X86::VPHADDSWrm
, 0 },
2309 { X86::VPHADDWYrr
, X86::VPHADDWYrm
, 0 },
2310 { X86::VPHADDWrr
, X86::VPHADDWrm
, 0 },
2311 { X86::VPHSUBDYrr
, X86::VPHSUBDYrm
, 0 },
2312 { X86::VPHSUBDrr
, X86::VPHSUBDrm
, 0 },
2313 { X86::VPHSUBSWYrr
, X86::VPHSUBSWYrm
, 0 },
2314 { X86::VPHSUBSWrr
, X86::VPHSUBSWrm
, 0 },
2315 { X86::VPHSUBWYrr
, X86::VPHSUBWYrm
, 0 },
2316 { X86::VPHSUBWrr
, X86::VPHSUBWrm
, 0 },
2317 { X86::VPINSRBZrr
, X86::VPINSRBZrm
, TB_NO_REVERSE
},
2318 { X86::VPINSRBrr
, X86::VPINSRBrm
, TB_NO_REVERSE
},
2319 { X86::VPINSRDZrr
, X86::VPINSRDZrm
, 0 },
2320 { X86::VPINSRDrr
, X86::VPINSRDrm
, 0 },
2321 { X86::VPINSRQZrr
, X86::VPINSRQZrm
, 0 },
2322 { X86::VPINSRQrr
, X86::VPINSRQrm
, 0 },
2323 { X86::VPINSRWZrr
, X86::VPINSRWZrm
, TB_NO_REVERSE
},
2324 { X86::VPINSRWrr
, X86::VPINSRWrm
, TB_NO_REVERSE
},
2325 { X86::VPLZCNTDZ128rrkz
, X86::VPLZCNTDZ128rmkz
, 0 },
2326 { X86::VPLZCNTDZ256rrkz
, X86::VPLZCNTDZ256rmkz
, 0 },
2327 { X86::VPLZCNTDZrrkz
, X86::VPLZCNTDZrmkz
, 0 },
2328 { X86::VPLZCNTQZ128rrkz
, X86::VPLZCNTQZ128rmkz
, 0 },
2329 { X86::VPLZCNTQZ256rrkz
, X86::VPLZCNTQZ256rmkz
, 0 },
2330 { X86::VPLZCNTQZrrkz
, X86::VPLZCNTQZrmkz
, 0 },
2331 { X86::VPMACSDDrr
, X86::VPMACSDDrm
, 0 },
2332 { X86::VPMACSDQHrr
, X86::VPMACSDQHrm
, 0 },
2333 { X86::VPMACSDQLrr
, X86::VPMACSDQLrm
, 0 },
2334 { X86::VPMACSSDDrr
, X86::VPMACSSDDrm
, 0 },
2335 { X86::VPMACSSDQHrr
, X86::VPMACSSDQHrm
, 0 },
2336 { X86::VPMACSSDQLrr
, X86::VPMACSSDQLrm
, 0 },
2337 { X86::VPMACSSWDrr
, X86::VPMACSSWDrm
, 0 },
2338 { X86::VPMACSSWWrr
, X86::VPMACSSWWrm
, 0 },
2339 { X86::VPMACSWDrr
, X86::VPMACSWDrm
, 0 },
2340 { X86::VPMACSWWrr
, X86::VPMACSWWrm
, 0 },
2341 { X86::VPMADCSSWDrr
, X86::VPMADCSSWDrm
, 0 },
2342 { X86::VPMADCSWDrr
, X86::VPMADCSWDrm
, 0 },
2343 { X86::VPMADDUBSWYrr
, X86::VPMADDUBSWYrm
, 0 },
2344 { X86::VPMADDUBSWZ128rr
, X86::VPMADDUBSWZ128rm
, 0 },
2345 { X86::VPMADDUBSWZ256rr
, X86::VPMADDUBSWZ256rm
, 0 },
2346 { X86::VPMADDUBSWZrr
, X86::VPMADDUBSWZrm
, 0 },
2347 { X86::VPMADDUBSWrr
, X86::VPMADDUBSWrm
, 0 },
2348 { X86::VPMADDWDYrr
, X86::VPMADDWDYrm
, 0 },
2349 { X86::VPMADDWDZ128rr
, X86::VPMADDWDZ128rm
, 0 },
2350 { X86::VPMADDWDZ256rr
, X86::VPMADDWDZ256rm
, 0 },
2351 { X86::VPMADDWDZrr
, X86::VPMADDWDZrm
, 0 },
2352 { X86::VPMADDWDrr
, X86::VPMADDWDrm
, 0 },
2353 { X86::VPMAXSBYrr
, X86::VPMAXSBYrm
, 0 },
2354 { X86::VPMAXSBZ128rr
, X86::VPMAXSBZ128rm
, 0 },
2355 { X86::VPMAXSBZ256rr
, X86::VPMAXSBZ256rm
, 0 },
2356 { X86::VPMAXSBZrr
, X86::VPMAXSBZrm
, 0 },
2357 { X86::VPMAXSBrr
, X86::VPMAXSBrm
, 0 },
2358 { X86::VPMAXSDYrr
, X86::VPMAXSDYrm
, 0 },
2359 { X86::VPMAXSDZ128rr
, X86::VPMAXSDZ128rm
, 0 },
2360 { X86::VPMAXSDZ256rr
, X86::VPMAXSDZ256rm
, 0 },
2361 { X86::VPMAXSDZrr
, X86::VPMAXSDZrm
, 0 },
2362 { X86::VPMAXSDrr
, X86::VPMAXSDrm
, 0 },
2363 { X86::VPMAXSQZ128rr
, X86::VPMAXSQZ128rm
, 0 },
2364 { X86::VPMAXSQZ256rr
, X86::VPMAXSQZ256rm
, 0 },
2365 { X86::VPMAXSQZrr
, X86::VPMAXSQZrm
, 0 },
2366 { X86::VPMAXSWYrr
, X86::VPMAXSWYrm
, 0 },
2367 { X86::VPMAXSWZ128rr
, X86::VPMAXSWZ128rm
, 0 },
2368 { X86::VPMAXSWZ256rr
, X86::VPMAXSWZ256rm
, 0 },
2369 { X86::VPMAXSWZrr
, X86::VPMAXSWZrm
, 0 },
2370 { X86::VPMAXSWrr
, X86::VPMAXSWrm
, 0 },
2371 { X86::VPMAXUBYrr
, X86::VPMAXUBYrm
, 0 },
2372 { X86::VPMAXUBZ128rr
, X86::VPMAXUBZ128rm
, 0 },
2373 { X86::VPMAXUBZ256rr
, X86::VPMAXUBZ256rm
, 0 },
2374 { X86::VPMAXUBZrr
, X86::VPMAXUBZrm
, 0 },
2375 { X86::VPMAXUBrr
, X86::VPMAXUBrm
, 0 },
2376 { X86::VPMAXUDYrr
, X86::VPMAXUDYrm
, 0 },
2377 { X86::VPMAXUDZ128rr
, X86::VPMAXUDZ128rm
, 0 },
2378 { X86::VPMAXUDZ256rr
, X86::VPMAXUDZ256rm
, 0 },
2379 { X86::VPMAXUDZrr
, X86::VPMAXUDZrm
, 0 },
2380 { X86::VPMAXUDrr
, X86::VPMAXUDrm
, 0 },
2381 { X86::VPMAXUQZ128rr
, X86::VPMAXUQZ128rm
, 0 },
2382 { X86::VPMAXUQZ256rr
, X86::VPMAXUQZ256rm
, 0 },
2383 { X86::VPMAXUQZrr
, X86::VPMAXUQZrm
, 0 },
2384 { X86::VPMAXUWYrr
, X86::VPMAXUWYrm
, 0 },
2385 { X86::VPMAXUWZ128rr
, X86::VPMAXUWZ128rm
, 0 },
2386 { X86::VPMAXUWZ256rr
, X86::VPMAXUWZ256rm
, 0 },
2387 { X86::VPMAXUWZrr
, X86::VPMAXUWZrm
, 0 },
2388 { X86::VPMAXUWrr
, X86::VPMAXUWrm
, 0 },
2389 { X86::VPMINSBYrr
, X86::VPMINSBYrm
, 0 },
2390 { X86::VPMINSBZ128rr
, X86::VPMINSBZ128rm
, 0 },
2391 { X86::VPMINSBZ256rr
, X86::VPMINSBZ256rm
, 0 },
2392 { X86::VPMINSBZrr
, X86::VPMINSBZrm
, 0 },
2393 { X86::VPMINSBrr
, X86::VPMINSBrm
, 0 },
2394 { X86::VPMINSDYrr
, X86::VPMINSDYrm
, 0 },
2395 { X86::VPMINSDZ128rr
, X86::VPMINSDZ128rm
, 0 },
2396 { X86::VPMINSDZ256rr
, X86::VPMINSDZ256rm
, 0 },
2397 { X86::VPMINSDZrr
, X86::VPMINSDZrm
, 0 },
2398 { X86::VPMINSDrr
, X86::VPMINSDrm
, 0 },
2399 { X86::VPMINSQZ128rr
, X86::VPMINSQZ128rm
, 0 },
2400 { X86::VPMINSQZ256rr
, X86::VPMINSQZ256rm
, 0 },
2401 { X86::VPMINSQZrr
, X86::VPMINSQZrm
, 0 },
2402 { X86::VPMINSWYrr
, X86::VPMINSWYrm
, 0 },
2403 { X86::VPMINSWZ128rr
, X86::VPMINSWZ128rm
, 0 },
2404 { X86::VPMINSWZ256rr
, X86::VPMINSWZ256rm
, 0 },
2405 { X86::VPMINSWZrr
, X86::VPMINSWZrm
, 0 },
2406 { X86::VPMINSWrr
, X86::VPMINSWrm
, 0 },
2407 { X86::VPMINUBYrr
, X86::VPMINUBYrm
, 0 },
2408 { X86::VPMINUBZ128rr
, X86::VPMINUBZ128rm
, 0 },
2409 { X86::VPMINUBZ256rr
, X86::VPMINUBZ256rm
, 0 },
2410 { X86::VPMINUBZrr
, X86::VPMINUBZrm
, 0 },
2411 { X86::VPMINUBrr
, X86::VPMINUBrm
, 0 },
2412 { X86::VPMINUDYrr
, X86::VPMINUDYrm
, 0 },
2413 { X86::VPMINUDZ128rr
, X86::VPMINUDZ128rm
, 0 },
2414 { X86::VPMINUDZ256rr
, X86::VPMINUDZ256rm
, 0 },
2415 { X86::VPMINUDZrr
, X86::VPMINUDZrm
, 0 },
2416 { X86::VPMINUDrr
, X86::VPMINUDrm
, 0 },
2417 { X86::VPMINUQZ128rr
, X86::VPMINUQZ128rm
, 0 },
2418 { X86::VPMINUQZ256rr
, X86::VPMINUQZ256rm
, 0 },
2419 { X86::VPMINUQZrr
, X86::VPMINUQZrm
, 0 },
2420 { X86::VPMINUWYrr
, X86::VPMINUWYrm
, 0 },
2421 { X86::VPMINUWZ128rr
, X86::VPMINUWZ128rm
, 0 },
2422 { X86::VPMINUWZ256rr
, X86::VPMINUWZ256rm
, 0 },
2423 { X86::VPMINUWZrr
, X86::VPMINUWZrm
, 0 },
2424 { X86::VPMINUWrr
, X86::VPMINUWrm
, 0 },
2425 { X86::VPMOVSXBDZ128rrkz
, X86::VPMOVSXBDZ128rmkz
, TB_NO_REVERSE
},
2426 { X86::VPMOVSXBDZ256rrkz
, X86::VPMOVSXBDZ256rmkz
, TB_NO_REVERSE
},
2427 { X86::VPMOVSXBDZrrkz
, X86::VPMOVSXBDZrmkz
, 0 },
2428 { X86::VPMOVSXBQZ128rrkz
, X86::VPMOVSXBQZ128rmkz
, TB_NO_REVERSE
},
2429 { X86::VPMOVSXBQZ256rrkz
, X86::VPMOVSXBQZ256rmkz
, TB_NO_REVERSE
},
2430 { X86::VPMOVSXBQZrrkz
, X86::VPMOVSXBQZrmkz
, TB_NO_REVERSE
},
2431 { X86::VPMOVSXBWZ128rrkz
, X86::VPMOVSXBWZ128rmkz
, TB_NO_REVERSE
},
2432 { X86::VPMOVSXBWZ256rrkz
, X86::VPMOVSXBWZ256rmkz
, 0 },
2433 { X86::VPMOVSXBWZrrkz
, X86::VPMOVSXBWZrmkz
, 0 },
2434 { X86::VPMOVSXDQZ128rrkz
, X86::VPMOVSXDQZ128rmkz
, TB_NO_REVERSE
},
2435 { X86::VPMOVSXDQZ256rrkz
, X86::VPMOVSXDQZ256rmkz
, 0 },
2436 { X86::VPMOVSXDQZrrkz
, X86::VPMOVSXDQZrmkz
, 0 },
2437 { X86::VPMOVSXWDZ128rrkz
, X86::VPMOVSXWDZ128rmkz
, TB_NO_REVERSE
},
2438 { X86::VPMOVSXWDZ256rrkz
, X86::VPMOVSXWDZ256rmkz
, 0 },
2439 { X86::VPMOVSXWDZrrkz
, X86::VPMOVSXWDZrmkz
, 0 },
2440 { X86::VPMOVSXWQZ128rrkz
, X86::VPMOVSXWQZ128rmkz
, TB_NO_REVERSE
},
2441 { X86::VPMOVSXWQZ256rrkz
, X86::VPMOVSXWQZ256rmkz
, TB_NO_REVERSE
},
2442 { X86::VPMOVSXWQZrrkz
, X86::VPMOVSXWQZrmkz
, 0 },
2443 { X86::VPMOVZXBDZ128rrkz
, X86::VPMOVZXBDZ128rmkz
, TB_NO_REVERSE
},
2444 { X86::VPMOVZXBDZ256rrkz
, X86::VPMOVZXBDZ256rmkz
, TB_NO_REVERSE
},
2445 { X86::VPMOVZXBDZrrkz
, X86::VPMOVZXBDZrmkz
, 0 },
2446 { X86::VPMOVZXBQZ128rrkz
, X86::VPMOVZXBQZ128rmkz
, TB_NO_REVERSE
},
2447 { X86::VPMOVZXBQZ256rrkz
, X86::VPMOVZXBQZ256rmkz
, TB_NO_REVERSE
},
2448 { X86::VPMOVZXBQZrrkz
, X86::VPMOVZXBQZrmkz
, TB_NO_REVERSE
},
2449 { X86::VPMOVZXBWZ128rrkz
, X86::VPMOVZXBWZ128rmkz
, TB_NO_REVERSE
},
2450 { X86::VPMOVZXBWZ256rrkz
, X86::VPMOVZXBWZ256rmkz
, 0 },
2451 { X86::VPMOVZXBWZrrkz
, X86::VPMOVZXBWZrmkz
, 0 },
2452 { X86::VPMOVZXDQZ128rrkz
, X86::VPMOVZXDQZ128rmkz
, TB_NO_REVERSE
},
2453 { X86::VPMOVZXDQZ256rrkz
, X86::VPMOVZXDQZ256rmkz
, 0 },
2454 { X86::VPMOVZXDQZrrkz
, X86::VPMOVZXDQZrmkz
, 0 },
2455 { X86::VPMOVZXWDZ128rrkz
, X86::VPMOVZXWDZ128rmkz
, TB_NO_REVERSE
},
2456 { X86::VPMOVZXWDZ256rrkz
, X86::VPMOVZXWDZ256rmkz
, 0 },
2457 { X86::VPMOVZXWDZrrkz
, X86::VPMOVZXWDZrmkz
, 0 },
2458 { X86::VPMOVZXWQZ128rrkz
, X86::VPMOVZXWQZ128rmkz
, TB_NO_REVERSE
},
2459 { X86::VPMOVZXWQZ256rrkz
, X86::VPMOVZXWQZ256rmkz
, TB_NO_REVERSE
},
2460 { X86::VPMOVZXWQZrrkz
, X86::VPMOVZXWQZrmkz
, 0 },
2461 { X86::VPMULDQYrr
, X86::VPMULDQYrm
, 0 },
2462 { X86::VPMULDQZ128rr
, X86::VPMULDQZ128rm
, 0 },
2463 { X86::VPMULDQZ256rr
, X86::VPMULDQZ256rm
, 0 },
2464 { X86::VPMULDQZrr
, X86::VPMULDQZrm
, 0 },
2465 { X86::VPMULDQrr
, X86::VPMULDQrm
, 0 },
2466 { X86::VPMULHRSWYrr
, X86::VPMULHRSWYrm
, 0 },
2467 { X86::VPMULHRSWZ128rr
, X86::VPMULHRSWZ128rm
, 0 },
2468 { X86::VPMULHRSWZ256rr
, X86::VPMULHRSWZ256rm
, 0 },
2469 { X86::VPMULHRSWZrr
, X86::VPMULHRSWZrm
, 0 },
2470 { X86::VPMULHRSWrr
, X86::VPMULHRSWrm
, 0 },
2471 { X86::VPMULHUWYrr
, X86::VPMULHUWYrm
, 0 },
2472 { X86::VPMULHUWZ128rr
, X86::VPMULHUWZ128rm
, 0 },
2473 { X86::VPMULHUWZ256rr
, X86::VPMULHUWZ256rm
, 0 },
2474 { X86::VPMULHUWZrr
, X86::VPMULHUWZrm
, 0 },
2475 { X86::VPMULHUWrr
, X86::VPMULHUWrm
, 0 },
2476 { X86::VPMULHWYrr
, X86::VPMULHWYrm
, 0 },
2477 { X86::VPMULHWZ128rr
, X86::VPMULHWZ128rm
, 0 },
2478 { X86::VPMULHWZ256rr
, X86::VPMULHWZ256rm
, 0 },
2479 { X86::VPMULHWZrr
, X86::VPMULHWZrm
, 0 },
2480 { X86::VPMULHWrr
, X86::VPMULHWrm
, 0 },
2481 { X86::VPMULLDYrr
, X86::VPMULLDYrm
, 0 },
2482 { X86::VPMULLDZ128rr
, X86::VPMULLDZ128rm
, 0 },
2483 { X86::VPMULLDZ256rr
, X86::VPMULLDZ256rm
, 0 },
2484 { X86::VPMULLDZrr
, X86::VPMULLDZrm
, 0 },
2485 { X86::VPMULLDrr
, X86::VPMULLDrm
, 0 },
2486 { X86::VPMULLQZ128rr
, X86::VPMULLQZ128rm
, 0 },
2487 { X86::VPMULLQZ256rr
, X86::VPMULLQZ256rm
, 0 },
2488 { X86::VPMULLQZrr
, X86::VPMULLQZrm
, 0 },
2489 { X86::VPMULLWYrr
, X86::VPMULLWYrm
, 0 },
2490 { X86::VPMULLWZ128rr
, X86::VPMULLWZ128rm
, 0 },
2491 { X86::VPMULLWZ256rr
, X86::VPMULLWZ256rm
, 0 },
2492 { X86::VPMULLWZrr
, X86::VPMULLWZrm
, 0 },
2493 { X86::VPMULLWrr
, X86::VPMULLWrm
, 0 },
2494 { X86::VPMULTISHIFTQBZ128rr
, X86::VPMULTISHIFTQBZ128rm
, 0 },
2495 { X86::VPMULTISHIFTQBZ256rr
, X86::VPMULTISHIFTQBZ256rm
, 0 },
2496 { X86::VPMULTISHIFTQBZrr
, X86::VPMULTISHIFTQBZrm
, 0 },
2497 { X86::VPMULUDQYrr
, X86::VPMULUDQYrm
, 0 },
2498 { X86::VPMULUDQZ128rr
, X86::VPMULUDQZ128rm
, 0 },
2499 { X86::VPMULUDQZ256rr
, X86::VPMULUDQZ256rm
, 0 },
2500 { X86::VPMULUDQZrr
, X86::VPMULUDQZrm
, 0 },
2501 { X86::VPMULUDQrr
, X86::VPMULUDQrm
, 0 },
2502 { X86::VPOPCNTBZ128rrkz
, X86::VPOPCNTBZ128rmkz
, 0 },
2503 { X86::VPOPCNTBZ256rrkz
, X86::VPOPCNTBZ256rmkz
, 0 },
2504 { X86::VPOPCNTBZrrkz
, X86::VPOPCNTBZrmkz
, 0 },
2505 { X86::VPOPCNTDZ128rrkz
, X86::VPOPCNTDZ128rmkz
, 0 },
2506 { X86::VPOPCNTDZ256rrkz
, X86::VPOPCNTDZ256rmkz
, 0 },
2507 { X86::VPOPCNTDZrrkz
, X86::VPOPCNTDZrmkz
, 0 },
2508 { X86::VPOPCNTQZ128rrkz
, X86::VPOPCNTQZ128rmkz
, 0 },
2509 { X86::VPOPCNTQZ256rrkz
, X86::VPOPCNTQZ256rmkz
, 0 },
2510 { X86::VPOPCNTQZrrkz
, X86::VPOPCNTQZrmkz
, 0 },
2511 { X86::VPOPCNTWZ128rrkz
, X86::VPOPCNTWZ128rmkz
, 0 },
2512 { X86::VPOPCNTWZ256rrkz
, X86::VPOPCNTWZ256rmkz
, 0 },
2513 { X86::VPOPCNTWZrrkz
, X86::VPOPCNTWZrmkz
, 0 },
2514 { X86::VPORDZ128rr
, X86::VPORDZ128rm
, 0 },
2515 { X86::VPORDZ256rr
, X86::VPORDZ256rm
, 0 },
2516 { X86::VPORDZrr
, X86::VPORDZrm
, 0 },
2517 { X86::VPORQZ128rr
, X86::VPORQZ128rm
, 0 },
2518 { X86::VPORQZ256rr
, X86::VPORQZ256rm
, 0 },
2519 { X86::VPORQZrr
, X86::VPORQZrm
, 0 },
2520 { X86::VPORYrr
, X86::VPORYrm
, 0 },
2521 { X86::VPORrr
, X86::VPORrm
, 0 },
2522 { X86::VPPERMrrr
, X86::VPPERMrmr
, 0 },
2523 { X86::VPROLDZ128rikz
, X86::VPROLDZ128mikz
, 0 },
2524 { X86::VPROLDZ256rikz
, X86::VPROLDZ256mikz
, 0 },
2525 { X86::VPROLDZrikz
, X86::VPROLDZmikz
, 0 },
2526 { X86::VPROLQZ128rikz
, X86::VPROLQZ128mikz
, 0 },
2527 { X86::VPROLQZ256rikz
, X86::VPROLQZ256mikz
, 0 },
2528 { X86::VPROLQZrikz
, X86::VPROLQZmikz
, 0 },
2529 { X86::VPROLVDZ128rr
, X86::VPROLVDZ128rm
, 0 },
2530 { X86::VPROLVDZ256rr
, X86::VPROLVDZ256rm
, 0 },
2531 { X86::VPROLVDZrr
, X86::VPROLVDZrm
, 0 },
2532 { X86::VPROLVQZ128rr
, X86::VPROLVQZ128rm
, 0 },
2533 { X86::VPROLVQZ256rr
, X86::VPROLVQZ256rm
, 0 },
2534 { X86::VPROLVQZrr
, X86::VPROLVQZrm
, 0 },
2535 { X86::VPRORDZ128rikz
, X86::VPRORDZ128mikz
, 0 },
2536 { X86::VPRORDZ256rikz
, X86::VPRORDZ256mikz
, 0 },
2537 { X86::VPRORDZrikz
, X86::VPRORDZmikz
, 0 },
2538 { X86::VPRORQZ128rikz
, X86::VPRORQZ128mikz
, 0 },
2539 { X86::VPRORQZ256rikz
, X86::VPRORQZ256mikz
, 0 },
2540 { X86::VPRORQZrikz
, X86::VPRORQZmikz
, 0 },
2541 { X86::VPRORVDZ128rr
, X86::VPRORVDZ128rm
, 0 },
2542 { X86::VPRORVDZ256rr
, X86::VPRORVDZ256rm
, 0 },
2543 { X86::VPRORVDZrr
, X86::VPRORVDZrm
, 0 },
2544 { X86::VPRORVQZ128rr
, X86::VPRORVQZ128rm
, 0 },
2545 { X86::VPRORVQZ256rr
, X86::VPRORVQZ256rm
, 0 },
2546 { X86::VPRORVQZrr
, X86::VPRORVQZrm
, 0 },
2547 { X86::VPROTBrr
, X86::VPROTBrm
, 0 },
2548 { X86::VPROTDrr
, X86::VPROTDrm
, 0 },
2549 { X86::VPROTQrr
, X86::VPROTQrm
, 0 },
2550 { X86::VPROTWrr
, X86::VPROTWrm
, 0 },
2551 { X86::VPSADBWYrr
, X86::VPSADBWYrm
, 0 },
2552 { X86::VPSADBWZ128rr
, X86::VPSADBWZ128rm
, 0 },
2553 { X86::VPSADBWZ256rr
, X86::VPSADBWZ256rm
, 0 },
2554 { X86::VPSADBWZrr
, X86::VPSADBWZrm
, 0 },
2555 { X86::VPSADBWrr
, X86::VPSADBWrm
, 0 },
2556 { X86::VPSHABrr
, X86::VPSHABrm
, 0 },
2557 { X86::VPSHADrr
, X86::VPSHADrm
, 0 },
2558 { X86::VPSHAQrr
, X86::VPSHAQrm
, 0 },
2559 { X86::VPSHAWrr
, X86::VPSHAWrm
, 0 },
2560 { X86::VPSHLBrr
, X86::VPSHLBrm
, 0 },
2561 { X86::VPSHLDDZ128rri
, X86::VPSHLDDZ128rmi
, 0 },
2562 { X86::VPSHLDDZ256rri
, X86::VPSHLDDZ256rmi
, 0 },
2563 { X86::VPSHLDDZrri
, X86::VPSHLDDZrmi
, 0 },
2564 { X86::VPSHLDQZ128rri
, X86::VPSHLDQZ128rmi
, 0 },
2565 { X86::VPSHLDQZ256rri
, X86::VPSHLDQZ256rmi
, 0 },
2566 { X86::VPSHLDQZrri
, X86::VPSHLDQZrmi
, 0 },
2567 { X86::VPSHLDWZ128rri
, X86::VPSHLDWZ128rmi
, 0 },
2568 { X86::VPSHLDWZ256rri
, X86::VPSHLDWZ256rmi
, 0 },
2569 { X86::VPSHLDWZrri
, X86::VPSHLDWZrmi
, 0 },
2570 { X86::VPSHLDrr
, X86::VPSHLDrm
, 0 },
2571 { X86::VPSHLQrr
, X86::VPSHLQrm
, 0 },
2572 { X86::VPSHLWrr
, X86::VPSHLWrm
, 0 },
2573 { X86::VPSHRDDZ128rri
, X86::VPSHRDDZ128rmi
, 0 },
2574 { X86::VPSHRDDZ256rri
, X86::VPSHRDDZ256rmi
, 0 },
2575 { X86::VPSHRDDZrri
, X86::VPSHRDDZrmi
, 0 },
2576 { X86::VPSHRDQZ128rri
, X86::VPSHRDQZ128rmi
, 0 },
2577 { X86::VPSHRDQZ256rri
, X86::VPSHRDQZ256rmi
, 0 },
2578 { X86::VPSHRDQZrri
, X86::VPSHRDQZrmi
, 0 },
2579 { X86::VPSHRDWZ128rri
, X86::VPSHRDWZ128rmi
, 0 },
2580 { X86::VPSHRDWZ256rri
, X86::VPSHRDWZ256rmi
, 0 },
2581 { X86::VPSHRDWZrri
, X86::VPSHRDWZrmi
, 0 },
2582 { X86::VPSHUFBITQMBZ128rr
, X86::VPSHUFBITQMBZ128rm
, 0 },
2583 { X86::VPSHUFBITQMBZ256rr
, X86::VPSHUFBITQMBZ256rm
, 0 },
2584 { X86::VPSHUFBITQMBZrr
, X86::VPSHUFBITQMBZrm
, 0 },
2585 { X86::VPSHUFBYrr
, X86::VPSHUFBYrm
, 0 },
2586 { X86::VPSHUFBZ128rr
, X86::VPSHUFBZ128rm
, 0 },
2587 { X86::VPSHUFBZ256rr
, X86::VPSHUFBZ256rm
, 0 },
2588 { X86::VPSHUFBZrr
, X86::VPSHUFBZrm
, 0 },
2589 { X86::VPSHUFBrr
, X86::VPSHUFBrm
, 0 },
2590 { X86::VPSHUFDZ128rikz
, X86::VPSHUFDZ128mikz
, 0 },
2591 { X86::VPSHUFDZ256rikz
, X86::VPSHUFDZ256mikz
, 0 },
2592 { X86::VPSHUFDZrikz
, X86::VPSHUFDZmikz
, 0 },
2593 { X86::VPSHUFHWZ128rikz
, X86::VPSHUFHWZ128mikz
, 0 },
2594 { X86::VPSHUFHWZ256rikz
, X86::VPSHUFHWZ256mikz
, 0 },
2595 { X86::VPSHUFHWZrikz
, X86::VPSHUFHWZmikz
, 0 },
2596 { X86::VPSHUFLWZ128rikz
, X86::VPSHUFLWZ128mikz
, 0 },
2597 { X86::VPSHUFLWZ256rikz
, X86::VPSHUFLWZ256mikz
, 0 },
2598 { X86::VPSHUFLWZrikz
, X86::VPSHUFLWZmikz
, 0 },
2599 { X86::VPSIGNBYrr
, X86::VPSIGNBYrm
, 0 },
2600 { X86::VPSIGNBrr
, X86::VPSIGNBrm
, 0 },
2601 { X86::VPSIGNDYrr
, X86::VPSIGNDYrm
, 0 },
2602 { X86::VPSIGNDrr
, X86::VPSIGNDrm
, 0 },
2603 { X86::VPSIGNWYrr
, X86::VPSIGNWYrm
, 0 },
2604 { X86::VPSIGNWrr
, X86::VPSIGNWrm
, 0 },
2605 { X86::VPSLLDYrr
, X86::VPSLLDYrm
, 0 },
2606 { X86::VPSLLDZ128rikz
, X86::VPSLLDZ128mikz
, 0 },
2607 { X86::VPSLLDZ128rr
, X86::VPSLLDZ128rm
, 0 },
2608 { X86::VPSLLDZ256rikz
, X86::VPSLLDZ256mikz
, 0 },
2609 { X86::VPSLLDZ256rr
, X86::VPSLLDZ256rm
, 0 },
2610 { X86::VPSLLDZrikz
, X86::VPSLLDZmikz
, 0 },
2611 { X86::VPSLLDZrr
, X86::VPSLLDZrm
, 0 },
2612 { X86::VPSLLDrr
, X86::VPSLLDrm
, 0 },
2613 { X86::VPSLLQYrr
, X86::VPSLLQYrm
, 0 },
2614 { X86::VPSLLQZ128rikz
, X86::VPSLLQZ128mikz
, 0 },
2615 { X86::VPSLLQZ128rr
, X86::VPSLLQZ128rm
, 0 },
2616 { X86::VPSLLQZ256rikz
, X86::VPSLLQZ256mikz
, 0 },
2617 { X86::VPSLLQZ256rr
, X86::VPSLLQZ256rm
, 0 },
2618 { X86::VPSLLQZrikz
, X86::VPSLLQZmikz
, 0 },
2619 { X86::VPSLLQZrr
, X86::VPSLLQZrm
, 0 },
2620 { X86::VPSLLQrr
, X86::VPSLLQrm
, 0 },
2621 { X86::VPSLLVDYrr
, X86::VPSLLVDYrm
, 0 },
2622 { X86::VPSLLVDZ128rr
, X86::VPSLLVDZ128rm
, 0 },
2623 { X86::VPSLLVDZ256rr
, X86::VPSLLVDZ256rm
, 0 },
2624 { X86::VPSLLVDZrr
, X86::VPSLLVDZrm
, 0 },
2625 { X86::VPSLLVDrr
, X86::VPSLLVDrm
, 0 },
2626 { X86::VPSLLVQYrr
, X86::VPSLLVQYrm
, 0 },
2627 { X86::VPSLLVQZ128rr
, X86::VPSLLVQZ128rm
, 0 },
2628 { X86::VPSLLVQZ256rr
, X86::VPSLLVQZ256rm
, 0 },
2629 { X86::VPSLLVQZrr
, X86::VPSLLVQZrm
, 0 },
2630 { X86::VPSLLVQrr
, X86::VPSLLVQrm
, 0 },
2631 { X86::VPSLLVWZ128rr
, X86::VPSLLVWZ128rm
, 0 },
2632 { X86::VPSLLVWZ256rr
, X86::VPSLLVWZ256rm
, 0 },
2633 { X86::VPSLLVWZrr
, X86::VPSLLVWZrm
, 0 },
2634 { X86::VPSLLWYrr
, X86::VPSLLWYrm
, 0 },
2635 { X86::VPSLLWZ128rikz
, X86::VPSLLWZ128mikz
, 0 },
2636 { X86::VPSLLWZ128rr
, X86::VPSLLWZ128rm
, 0 },
2637 { X86::VPSLLWZ256rikz
, X86::VPSLLWZ256mikz
, 0 },
2638 { X86::VPSLLWZ256rr
, X86::VPSLLWZ256rm
, 0 },
2639 { X86::VPSLLWZrikz
, X86::VPSLLWZmikz
, 0 },
2640 { X86::VPSLLWZrr
, X86::VPSLLWZrm
, 0 },
2641 { X86::VPSLLWrr
, X86::VPSLLWrm
, 0 },
2642 { X86::VPSRADYrr
, X86::VPSRADYrm
, 0 },
2643 { X86::VPSRADZ128rikz
, X86::VPSRADZ128mikz
, 0 },
2644 { X86::VPSRADZ128rr
, X86::VPSRADZ128rm
, 0 },
2645 { X86::VPSRADZ256rikz
, X86::VPSRADZ256mikz
, 0 },
2646 { X86::VPSRADZ256rr
, X86::VPSRADZ256rm
, 0 },
2647 { X86::VPSRADZrikz
, X86::VPSRADZmikz
, 0 },
2648 { X86::VPSRADZrr
, X86::VPSRADZrm
, 0 },
2649 { X86::VPSRADrr
, X86::VPSRADrm
, 0 },
2650 { X86::VPSRAQZ128rikz
, X86::VPSRAQZ128mikz
, 0 },
2651 { X86::VPSRAQZ128rr
, X86::VPSRAQZ128rm
, 0 },
2652 { X86::VPSRAQZ256rikz
, X86::VPSRAQZ256mikz
, 0 },
2653 { X86::VPSRAQZ256rr
, X86::VPSRAQZ256rm
, 0 },
2654 { X86::VPSRAQZrikz
, X86::VPSRAQZmikz
, 0 },
2655 { X86::VPSRAQZrr
, X86::VPSRAQZrm
, 0 },
2656 { X86::VPSRAVDYrr
, X86::VPSRAVDYrm
, 0 },
2657 { X86::VPSRAVDZ128rr
, X86::VPSRAVDZ128rm
, 0 },
2658 { X86::VPSRAVDZ256rr
, X86::VPSRAVDZ256rm
, 0 },
2659 { X86::VPSRAVDZrr
, X86::VPSRAVDZrm
, 0 },
2660 { X86::VPSRAVDrr
, X86::VPSRAVDrm
, 0 },
2661 { X86::VPSRAVQZ128rr
, X86::VPSRAVQZ128rm
, 0 },
2662 { X86::VPSRAVQZ256rr
, X86::VPSRAVQZ256rm
, 0 },
2663 { X86::VPSRAVQZrr
, X86::VPSRAVQZrm
, 0 },
2664 { X86::VPSRAVWZ128rr
, X86::VPSRAVWZ128rm
, 0 },
2665 { X86::VPSRAVWZ256rr
, X86::VPSRAVWZ256rm
, 0 },
2666 { X86::VPSRAVWZrr
, X86::VPSRAVWZrm
, 0 },
2667 { X86::VPSRAWYrr
, X86::VPSRAWYrm
, 0 },
2668 { X86::VPSRAWZ128rikz
, X86::VPSRAWZ128mikz
, 0 },
2669 { X86::VPSRAWZ128rr
, X86::VPSRAWZ128rm
, 0 },
2670 { X86::VPSRAWZ256rikz
, X86::VPSRAWZ256mikz
, 0 },
2671 { X86::VPSRAWZ256rr
, X86::VPSRAWZ256rm
, 0 },
2672 { X86::VPSRAWZrikz
, X86::VPSRAWZmikz
, 0 },
2673 { X86::VPSRAWZrr
, X86::VPSRAWZrm
, 0 },
2674 { X86::VPSRAWrr
, X86::VPSRAWrm
, 0 },
2675 { X86::VPSRLDYrr
, X86::VPSRLDYrm
, 0 },
2676 { X86::VPSRLDZ128rikz
, X86::VPSRLDZ128mikz
, 0 },
2677 { X86::VPSRLDZ128rr
, X86::VPSRLDZ128rm
, 0 },
2678 { X86::VPSRLDZ256rikz
, X86::VPSRLDZ256mikz
, 0 },
2679 { X86::VPSRLDZ256rr
, X86::VPSRLDZ256rm
, 0 },
2680 { X86::VPSRLDZrikz
, X86::VPSRLDZmikz
, 0 },
2681 { X86::VPSRLDZrr
, X86::VPSRLDZrm
, 0 },
2682 { X86::VPSRLDrr
, X86::VPSRLDrm
, 0 },
2683 { X86::VPSRLQYrr
, X86::VPSRLQYrm
, 0 },
2684 { X86::VPSRLQZ128rikz
, X86::VPSRLQZ128mikz
, 0 },
2685 { X86::VPSRLQZ128rr
, X86::VPSRLQZ128rm
, 0 },
2686 { X86::VPSRLQZ256rikz
, X86::VPSRLQZ256mikz
, 0 },
2687 { X86::VPSRLQZ256rr
, X86::VPSRLQZ256rm
, 0 },
2688 { X86::VPSRLQZrikz
, X86::VPSRLQZmikz
, 0 },
2689 { X86::VPSRLQZrr
, X86::VPSRLQZrm
, 0 },
2690 { X86::VPSRLQrr
, X86::VPSRLQrm
, 0 },
2691 { X86::VPSRLVDYrr
, X86::VPSRLVDYrm
, 0 },
2692 { X86::VPSRLVDZ128rr
, X86::VPSRLVDZ128rm
, 0 },
2693 { X86::VPSRLVDZ256rr
, X86::VPSRLVDZ256rm
, 0 },
2694 { X86::VPSRLVDZrr
, X86::VPSRLVDZrm
, 0 },
2695 { X86::VPSRLVDrr
, X86::VPSRLVDrm
, 0 },
2696 { X86::VPSRLVQYrr
, X86::VPSRLVQYrm
, 0 },
2697 { X86::VPSRLVQZ128rr
, X86::VPSRLVQZ128rm
, 0 },
2698 { X86::VPSRLVQZ256rr
, X86::VPSRLVQZ256rm
, 0 },
2699 { X86::VPSRLVQZrr
, X86::VPSRLVQZrm
, 0 },
2700 { X86::VPSRLVQrr
, X86::VPSRLVQrm
, 0 },
2701 { X86::VPSRLVWZ128rr
, X86::VPSRLVWZ128rm
, 0 },
2702 { X86::VPSRLVWZ256rr
, X86::VPSRLVWZ256rm
, 0 },
2703 { X86::VPSRLVWZrr
, X86::VPSRLVWZrm
, 0 },
2704 { X86::VPSRLWYrr
, X86::VPSRLWYrm
, 0 },
2705 { X86::VPSRLWZ128rikz
, X86::VPSRLWZ128mikz
, 0 },
2706 { X86::VPSRLWZ128rr
, X86::VPSRLWZ128rm
, 0 },
2707 { X86::VPSRLWZ256rikz
, X86::VPSRLWZ256mikz
, 0 },
2708 { X86::VPSRLWZ256rr
, X86::VPSRLWZ256rm
, 0 },
2709 { X86::VPSRLWZrikz
, X86::VPSRLWZmikz
, 0 },
2710 { X86::VPSRLWZrr
, X86::VPSRLWZrm
, 0 },
2711 { X86::VPSRLWrr
, X86::VPSRLWrm
, 0 },
2712 { X86::VPSUBBYrr
, X86::VPSUBBYrm
, 0 },
2713 { X86::VPSUBBZ128rr
, X86::VPSUBBZ128rm
, 0 },
2714 { X86::VPSUBBZ256rr
, X86::VPSUBBZ256rm
, 0 },
2715 { X86::VPSUBBZrr
, X86::VPSUBBZrm
, 0 },
2716 { X86::VPSUBBrr
, X86::VPSUBBrm
, 0 },
2717 { X86::VPSUBDYrr
, X86::VPSUBDYrm
, 0 },
2718 { X86::VPSUBDZ128rr
, X86::VPSUBDZ128rm
, 0 },
2719 { X86::VPSUBDZ256rr
, X86::VPSUBDZ256rm
, 0 },
2720 { X86::VPSUBDZrr
, X86::VPSUBDZrm
, 0 },
2721 { X86::VPSUBDrr
, X86::VPSUBDrm
, 0 },
2722 { X86::VPSUBQYrr
, X86::VPSUBQYrm
, 0 },
2723 { X86::VPSUBQZ128rr
, X86::VPSUBQZ128rm
, 0 },
2724 { X86::VPSUBQZ256rr
, X86::VPSUBQZ256rm
, 0 },
2725 { X86::VPSUBQZrr
, X86::VPSUBQZrm
, 0 },
2726 { X86::VPSUBQrr
, X86::VPSUBQrm
, 0 },
2727 { X86::VPSUBSBYrr
, X86::VPSUBSBYrm
, 0 },
2728 { X86::VPSUBSBZ128rr
, X86::VPSUBSBZ128rm
, 0 },
2729 { X86::VPSUBSBZ256rr
, X86::VPSUBSBZ256rm
, 0 },
2730 { X86::VPSUBSBZrr
, X86::VPSUBSBZrm
, 0 },
2731 { X86::VPSUBSBrr
, X86::VPSUBSBrm
, 0 },
2732 { X86::VPSUBSWYrr
, X86::VPSUBSWYrm
, 0 },
2733 { X86::VPSUBSWZ128rr
, X86::VPSUBSWZ128rm
, 0 },
2734 { X86::VPSUBSWZ256rr
, X86::VPSUBSWZ256rm
, 0 },
2735 { X86::VPSUBSWZrr
, X86::VPSUBSWZrm
, 0 },
2736 { X86::VPSUBSWrr
, X86::VPSUBSWrm
, 0 },
2737 { X86::VPSUBUSBYrr
, X86::VPSUBUSBYrm
, 0 },
2738 { X86::VPSUBUSBZ128rr
, X86::VPSUBUSBZ128rm
, 0 },
2739 { X86::VPSUBUSBZ256rr
, X86::VPSUBUSBZ256rm
, 0 },
2740 { X86::VPSUBUSBZrr
, X86::VPSUBUSBZrm
, 0 },
2741 { X86::VPSUBUSBrr
, X86::VPSUBUSBrm
, 0 },
2742 { X86::VPSUBUSWYrr
, X86::VPSUBUSWYrm
, 0 },
2743 { X86::VPSUBUSWZ128rr
, X86::VPSUBUSWZ128rm
, 0 },
2744 { X86::VPSUBUSWZ256rr
, X86::VPSUBUSWZ256rm
, 0 },
2745 { X86::VPSUBUSWZrr
, X86::VPSUBUSWZrm
, 0 },
2746 { X86::VPSUBUSWrr
, X86::VPSUBUSWrm
, 0 },
2747 { X86::VPSUBWYrr
, X86::VPSUBWYrm
, 0 },
2748 { X86::VPSUBWZ128rr
, X86::VPSUBWZ128rm
, 0 },
2749 { X86::VPSUBWZ256rr
, X86::VPSUBWZ256rm
, 0 },
2750 { X86::VPSUBWZrr
, X86::VPSUBWZrm
, 0 },
2751 { X86::VPSUBWrr
, X86::VPSUBWrm
, 0 },
2752 { X86::VPTESTMBZ128rr
, X86::VPTESTMBZ128rm
, 0 },
2753 { X86::VPTESTMBZ256rr
, X86::VPTESTMBZ256rm
, 0 },
2754 { X86::VPTESTMBZrr
, X86::VPTESTMBZrm
, 0 },
2755 { X86::VPTESTMDZ128rr
, X86::VPTESTMDZ128rm
, 0 },
2756 { X86::VPTESTMDZ256rr
, X86::VPTESTMDZ256rm
, 0 },
2757 { X86::VPTESTMDZrr
, X86::VPTESTMDZrm
, 0 },
2758 { X86::VPTESTMQZ128rr
, X86::VPTESTMQZ128rm
, 0 },
2759 { X86::VPTESTMQZ256rr
, X86::VPTESTMQZ256rm
, 0 },
2760 { X86::VPTESTMQZrr
, X86::VPTESTMQZrm
, 0 },
2761 { X86::VPTESTMWZ128rr
, X86::VPTESTMWZ128rm
, 0 },
2762 { X86::VPTESTMWZ256rr
, X86::VPTESTMWZ256rm
, 0 },
2763 { X86::VPTESTMWZrr
, X86::VPTESTMWZrm
, 0 },
2764 { X86::VPTESTNMBZ128rr
, X86::VPTESTNMBZ128rm
, 0 },
2765 { X86::VPTESTNMBZ256rr
, X86::VPTESTNMBZ256rm
, 0 },
2766 { X86::VPTESTNMBZrr
, X86::VPTESTNMBZrm
, 0 },
2767 { X86::VPTESTNMDZ128rr
, X86::VPTESTNMDZ128rm
, 0 },
2768 { X86::VPTESTNMDZ256rr
, X86::VPTESTNMDZ256rm
, 0 },
2769 { X86::VPTESTNMDZrr
, X86::VPTESTNMDZrm
, 0 },
2770 { X86::VPTESTNMQZ128rr
, X86::VPTESTNMQZ128rm
, 0 },
2771 { X86::VPTESTNMQZ256rr
, X86::VPTESTNMQZ256rm
, 0 },
2772 { X86::VPTESTNMQZrr
, X86::VPTESTNMQZrm
, 0 },
2773 { X86::VPTESTNMWZ128rr
, X86::VPTESTNMWZ128rm
, 0 },
2774 { X86::VPTESTNMWZ256rr
, X86::VPTESTNMWZ256rm
, 0 },
2775 { X86::VPTESTNMWZrr
, X86::VPTESTNMWZrm
, 0 },
2776 { X86::VPUNPCKHBWYrr
, X86::VPUNPCKHBWYrm
, 0 },
2777 { X86::VPUNPCKHBWZ128rr
, X86::VPUNPCKHBWZ128rm
, 0 },
2778 { X86::VPUNPCKHBWZ256rr
, X86::VPUNPCKHBWZ256rm
, 0 },
2779 { X86::VPUNPCKHBWZrr
, X86::VPUNPCKHBWZrm
, 0 },
2780 { X86::VPUNPCKHBWrr
, X86::VPUNPCKHBWrm
, 0 },
2781 { X86::VPUNPCKHDQYrr
, X86::VPUNPCKHDQYrm
, 0 },
2782 { X86::VPUNPCKHDQZ128rr
, X86::VPUNPCKHDQZ128rm
, 0 },
2783 { X86::VPUNPCKHDQZ256rr
, X86::VPUNPCKHDQZ256rm
, 0 },
2784 { X86::VPUNPCKHDQZrr
, X86::VPUNPCKHDQZrm
, 0 },
2785 { X86::VPUNPCKHDQrr
, X86::VPUNPCKHDQrm
, 0 },
2786 { X86::VPUNPCKHQDQYrr
, X86::VPUNPCKHQDQYrm
, 0 },
2787 { X86::VPUNPCKHQDQZ128rr
, X86::VPUNPCKHQDQZ128rm
, 0 },
2788 { X86::VPUNPCKHQDQZ256rr
, X86::VPUNPCKHQDQZ256rm
, 0 },
2789 { X86::VPUNPCKHQDQZrr
, X86::VPUNPCKHQDQZrm
, 0 },
2790 { X86::VPUNPCKHQDQrr
, X86::VPUNPCKHQDQrm
, 0 },
2791 { X86::VPUNPCKHWDYrr
, X86::VPUNPCKHWDYrm
, 0 },
2792 { X86::VPUNPCKHWDZ128rr
, X86::VPUNPCKHWDZ128rm
, 0 },
2793 { X86::VPUNPCKHWDZ256rr
, X86::VPUNPCKHWDZ256rm
, 0 },
2794 { X86::VPUNPCKHWDZrr
, X86::VPUNPCKHWDZrm
, 0 },
2795 { X86::VPUNPCKHWDrr
, X86::VPUNPCKHWDrm
, 0 },
2796 { X86::VPUNPCKLBWYrr
, X86::VPUNPCKLBWYrm
, 0 },
2797 { X86::VPUNPCKLBWZ128rr
, X86::VPUNPCKLBWZ128rm
, 0 },
2798 { X86::VPUNPCKLBWZ256rr
, X86::VPUNPCKLBWZ256rm
, 0 },
2799 { X86::VPUNPCKLBWZrr
, X86::VPUNPCKLBWZrm
, 0 },
2800 { X86::VPUNPCKLBWrr
, X86::VPUNPCKLBWrm
, 0 },
2801 { X86::VPUNPCKLDQYrr
, X86::VPUNPCKLDQYrm
, 0 },
2802 { X86::VPUNPCKLDQZ128rr
, X86::VPUNPCKLDQZ128rm
, 0 },
2803 { X86::VPUNPCKLDQZ256rr
, X86::VPUNPCKLDQZ256rm
, 0 },
2804 { X86::VPUNPCKLDQZrr
, X86::VPUNPCKLDQZrm
, 0 },
2805 { X86::VPUNPCKLDQrr
, X86::VPUNPCKLDQrm
, 0 },
2806 { X86::VPUNPCKLQDQYrr
, X86::VPUNPCKLQDQYrm
, 0 },
2807 { X86::VPUNPCKLQDQZ128rr
, X86::VPUNPCKLQDQZ128rm
, 0 },
2808 { X86::VPUNPCKLQDQZ256rr
, X86::VPUNPCKLQDQZ256rm
, 0 },
2809 { X86::VPUNPCKLQDQZrr
, X86::VPUNPCKLQDQZrm
, 0 },
2810 { X86::VPUNPCKLQDQrr
, X86::VPUNPCKLQDQrm
, 0 },
2811 { X86::VPUNPCKLWDYrr
, X86::VPUNPCKLWDYrm
, 0 },
2812 { X86::VPUNPCKLWDZ128rr
, X86::VPUNPCKLWDZ128rm
, 0 },
2813 { X86::VPUNPCKLWDZ256rr
, X86::VPUNPCKLWDZ256rm
, 0 },
2814 { X86::VPUNPCKLWDZrr
, X86::VPUNPCKLWDZrm
, 0 },
2815 { X86::VPUNPCKLWDrr
, X86::VPUNPCKLWDrm
, 0 },
2816 { X86::VPXORDZ128rr
, X86::VPXORDZ128rm
, 0 },
2817 { X86::VPXORDZ256rr
, X86::VPXORDZ256rm
, 0 },
2818 { X86::VPXORDZrr
, X86::VPXORDZrm
, 0 },
2819 { X86::VPXORQZ128rr
, X86::VPXORQZ128rm
, 0 },
2820 { X86::VPXORQZ256rr
, X86::VPXORQZ256rm
, 0 },
2821 { X86::VPXORQZrr
, X86::VPXORQZrm
, 0 },
2822 { X86::VPXORYrr
, X86::VPXORYrm
, 0 },
2823 { X86::VPXORrr
, X86::VPXORrm
, 0 },
2824 { X86::VRANGEPDZ128rri
, X86::VRANGEPDZ128rmi
, 0 },
2825 { X86::VRANGEPDZ256rri
, X86::VRANGEPDZ256rmi
, 0 },
2826 { X86::VRANGEPDZrri
, X86::VRANGEPDZrmi
, 0 },
2827 { X86::VRANGEPSZ128rri
, X86::VRANGEPSZ128rmi
, 0 },
2828 { X86::VRANGEPSZ256rri
, X86::VRANGEPSZ256rmi
, 0 },
2829 { X86::VRANGEPSZrri
, X86::VRANGEPSZrmi
, 0 },
2830 { X86::VRANGESDZrri
, X86::VRANGESDZrmi
, TB_NO_REVERSE
},
2831 { X86::VRANGESSZrri
, X86::VRANGESSZrmi
, TB_NO_REVERSE
},
2832 { X86::VRCP14PDZ128rkz
, X86::VRCP14PDZ128mkz
, 0 },
2833 { X86::VRCP14PDZ256rkz
, X86::VRCP14PDZ256mkz
, 0 },
2834 { X86::VRCP14PDZrkz
, X86::VRCP14PDZmkz
, 0 },
2835 { X86::VRCP14PSZ128rkz
, X86::VRCP14PSZ128mkz
, 0 },
2836 { X86::VRCP14PSZ256rkz
, X86::VRCP14PSZ256mkz
, 0 },
2837 { X86::VRCP14PSZrkz
, X86::VRCP14PSZmkz
, 0 },
2838 { X86::VRCP14SDZrr
, X86::VRCP14SDZrm
, TB_NO_REVERSE
},
2839 { X86::VRCP14SSZrr
, X86::VRCP14SSZrm
, TB_NO_REVERSE
},
2840 { X86::VRCP28PDZrkz
, X86::VRCP28PDZmkz
, 0 },
2841 { X86::VRCP28PSZrkz
, X86::VRCP28PSZmkz
, 0 },
2842 { X86::VRCP28SDZr
, X86::VRCP28SDZm
, TB_NO_REVERSE
},
2843 { X86::VRCP28SSZr
, X86::VRCP28SSZm
, TB_NO_REVERSE
},
2844 { X86::VRCPSSr
, X86::VRCPSSm
, 0 },
2845 { X86::VRCPSSr_Int
, X86::VRCPSSm_Int
, TB_NO_REVERSE
},
2846 { X86::VREDUCEPDZ128rrikz
, X86::VREDUCEPDZ128rmikz
, 0 },
2847 { X86::VREDUCEPDZ256rrikz
, X86::VREDUCEPDZ256rmikz
, 0 },
2848 { X86::VREDUCEPDZrrikz
, X86::VREDUCEPDZrmikz
, 0 },
2849 { X86::VREDUCEPSZ128rrikz
, X86::VREDUCEPSZ128rmikz
, 0 },
2850 { X86::VREDUCEPSZ256rrikz
, X86::VREDUCEPSZ256rmikz
, 0 },
2851 { X86::VREDUCEPSZrrikz
, X86::VREDUCEPSZrmikz
, 0 },
2852 { X86::VREDUCESDZrri
, X86::VREDUCESDZrmi
, TB_NO_REVERSE
},
2853 { X86::VREDUCESSZrri
, X86::VREDUCESSZrmi
, TB_NO_REVERSE
},
2854 { X86::VRNDSCALEPDZ128rrikz
, X86::VRNDSCALEPDZ128rmikz
, 0 },
2855 { X86::VRNDSCALEPDZ256rrikz
, X86::VRNDSCALEPDZ256rmikz
, 0 },
2856 { X86::VRNDSCALEPDZrrikz
, X86::VRNDSCALEPDZrmikz
, 0 },
2857 { X86::VRNDSCALEPSZ128rrikz
, X86::VRNDSCALEPSZ128rmikz
, 0 },
2858 { X86::VRNDSCALEPSZ256rrikz
, X86::VRNDSCALEPSZ256rmikz
, 0 },
2859 { X86::VRNDSCALEPSZrrikz
, X86::VRNDSCALEPSZrmikz
, 0 },
2860 { X86::VRNDSCALESDZr
, X86::VRNDSCALESDZm
, 0 },
2861 { X86::VRNDSCALESDZr_Int
, X86::VRNDSCALESDZm_Int
, TB_NO_REVERSE
},
2862 { X86::VRNDSCALESSZr
, X86::VRNDSCALESSZm
, 0 },
2863 { X86::VRNDSCALESSZr_Int
, X86::VRNDSCALESSZm_Int
, TB_NO_REVERSE
},
2864 { X86::VROUNDSDr
, X86::VROUNDSDm
, 0 },
2865 { X86::VROUNDSDr_Int
, X86::VROUNDSDm_Int
, TB_NO_REVERSE
},
2866 { X86::VROUNDSSr
, X86::VROUNDSSm
, 0 },
2867 { X86::VROUNDSSr_Int
, X86::VROUNDSSm_Int
, TB_NO_REVERSE
},
2868 { X86::VRSQRT14PDZ128rkz
, X86::VRSQRT14PDZ128mkz
, 0 },
2869 { X86::VRSQRT14PDZ256rkz
, X86::VRSQRT14PDZ256mkz
, 0 },
2870 { X86::VRSQRT14PDZrkz
, X86::VRSQRT14PDZmkz
, 0 },
2871 { X86::VRSQRT14PSZ128rkz
, X86::VRSQRT14PSZ128mkz
, 0 },
2872 { X86::VRSQRT14PSZ256rkz
, X86::VRSQRT14PSZ256mkz
, 0 },
2873 { X86::VRSQRT14PSZrkz
, X86::VRSQRT14PSZmkz
, 0 },
2874 { X86::VRSQRT14SDZrr
, X86::VRSQRT14SDZrm
, TB_NO_REVERSE
},
2875 { X86::VRSQRT14SSZrr
, X86::VRSQRT14SSZrm
, TB_NO_REVERSE
},
2876 { X86::VRSQRT28PDZrkz
, X86::VRSQRT28PDZmkz
, 0 },
2877 { X86::VRSQRT28PSZrkz
, X86::VRSQRT28PSZmkz
, 0 },
2878 { X86::VRSQRT28SDZr
, X86::VRSQRT28SDZm
, TB_NO_REVERSE
},
2879 { X86::VRSQRT28SSZr
, X86::VRSQRT28SSZm
, TB_NO_REVERSE
},
2880 { X86::VRSQRTSSr
, X86::VRSQRTSSm
, 0 },
2881 { X86::VRSQRTSSr_Int
, X86::VRSQRTSSm_Int
, TB_NO_REVERSE
},
2882 { X86::VSCALEFPDZ128rr
, X86::VSCALEFPDZ128rm
, 0 },
2883 { X86::VSCALEFPDZ256rr
, X86::VSCALEFPDZ256rm
, 0 },
2884 { X86::VSCALEFPDZrr
, X86::VSCALEFPDZrm
, 0 },
2885 { X86::VSCALEFPSZ128rr
, X86::VSCALEFPSZ128rm
, 0 },
2886 { X86::VSCALEFPSZ256rr
, X86::VSCALEFPSZ256rm
, 0 },
2887 { X86::VSCALEFPSZrr
, X86::VSCALEFPSZrm
, 0 },
2888 { X86::VSCALEFSDZrr
, X86::VSCALEFSDZrm
, TB_NO_REVERSE
},
2889 { X86::VSCALEFSSZrr
, X86::VSCALEFSSZrm
, TB_NO_REVERSE
},
2890 { X86::VSHUFF32X4Z256rri
, X86::VSHUFF32X4Z256rmi
, 0 },
2891 { X86::VSHUFF32X4Zrri
, X86::VSHUFF32X4Zrmi
, 0 },
2892 { X86::VSHUFF64X2Z256rri
, X86::VSHUFF64X2Z256rmi
, 0 },
2893 { X86::VSHUFF64X2Zrri
, X86::VSHUFF64X2Zrmi
, 0 },
2894 { X86::VSHUFI32X4Z256rri
, X86::VSHUFI32X4Z256rmi
, 0 },
2895 { X86::VSHUFI32X4Zrri
, X86::VSHUFI32X4Zrmi
, 0 },
2896 { X86::VSHUFI64X2Z256rri
, X86::VSHUFI64X2Z256rmi
, 0 },
2897 { X86::VSHUFI64X2Zrri
, X86::VSHUFI64X2Zrmi
, 0 },
2898 { X86::VSHUFPDYrri
, X86::VSHUFPDYrmi
, 0 },
2899 { X86::VSHUFPDZ128rri
, X86::VSHUFPDZ128rmi
, 0 },
2900 { X86::VSHUFPDZ256rri
, X86::VSHUFPDZ256rmi
, 0 },
2901 { X86::VSHUFPDZrri
, X86::VSHUFPDZrmi
, 0 },
2902 { X86::VSHUFPDrri
, X86::VSHUFPDrmi
, 0 },
2903 { X86::VSHUFPSYrri
, X86::VSHUFPSYrmi
, 0 },
2904 { X86::VSHUFPSZ128rri
, X86::VSHUFPSZ128rmi
, 0 },
2905 { X86::VSHUFPSZ256rri
, X86::VSHUFPSZ256rmi
, 0 },
2906 { X86::VSHUFPSZrri
, X86::VSHUFPSZrmi
, 0 },
2907 { X86::VSHUFPSrri
, X86::VSHUFPSrmi
, 0 },
2908 { X86::VSQRTPDZ128rkz
, X86::VSQRTPDZ128mkz
, 0 },
2909 { X86::VSQRTPDZ256rkz
, X86::VSQRTPDZ256mkz
, 0 },
2910 { X86::VSQRTPDZrkz
, X86::VSQRTPDZmkz
, 0 },
2911 { X86::VSQRTPSZ128rkz
, X86::VSQRTPSZ128mkz
, 0 },
2912 { X86::VSQRTPSZ256rkz
, X86::VSQRTPSZ256mkz
, 0 },
2913 { X86::VSQRTPSZrkz
, X86::VSQRTPSZmkz
, 0 },
2914 { X86::VSQRTSDZr
, X86::VSQRTSDZm
, 0 },
2915 { X86::VSQRTSDZr_Int
, X86::VSQRTSDZm_Int
, TB_NO_REVERSE
},
2916 { X86::VSQRTSDr
, X86::VSQRTSDm
, 0 },
2917 { X86::VSQRTSDr_Int
, X86::VSQRTSDm_Int
, TB_NO_REVERSE
},
2918 { X86::VSQRTSSZr
, X86::VSQRTSSZm
, 0 },
2919 { X86::VSQRTSSZr_Int
, X86::VSQRTSSZm_Int
, TB_NO_REVERSE
},
2920 { X86::VSQRTSSr
, X86::VSQRTSSm
, 0 },
2921 { X86::VSQRTSSr_Int
, X86::VSQRTSSm_Int
, TB_NO_REVERSE
},
2922 { X86::VSUBPDYrr
, X86::VSUBPDYrm
, 0 },
2923 { X86::VSUBPDZ128rr
, X86::VSUBPDZ128rm
, 0 },
2924 { X86::VSUBPDZ256rr
, X86::VSUBPDZ256rm
, 0 },
2925 { X86::VSUBPDZrr
, X86::VSUBPDZrm
, 0 },
2926 { X86::VSUBPDrr
, X86::VSUBPDrm
, 0 },
2927 { X86::VSUBPSYrr
, X86::VSUBPSYrm
, 0 },
2928 { X86::VSUBPSZ128rr
, X86::VSUBPSZ128rm
, 0 },
2929 { X86::VSUBPSZ256rr
, X86::VSUBPSZ256rm
, 0 },
2930 { X86::VSUBPSZrr
, X86::VSUBPSZrm
, 0 },
2931 { X86::VSUBPSrr
, X86::VSUBPSrm
, 0 },
2932 { X86::VSUBSDZrr
, X86::VSUBSDZrm
, 0 },
2933 { X86::VSUBSDZrr_Int
, X86::VSUBSDZrm_Int
, TB_NO_REVERSE
},
2934 { X86::VSUBSDrr
, X86::VSUBSDrm
, 0 },
2935 { X86::VSUBSDrr_Int
, X86::VSUBSDrm_Int
, TB_NO_REVERSE
},
2936 { X86::VSUBSSZrr
, X86::VSUBSSZrm
, 0 },
2937 { X86::VSUBSSZrr_Int
, X86::VSUBSSZrm_Int
, TB_NO_REVERSE
},
2938 { X86::VSUBSSrr
, X86::VSUBSSrm
, 0 },
2939 { X86::VSUBSSrr_Int
, X86::VSUBSSrm_Int
, TB_NO_REVERSE
},
2940 { X86::VUNPCKHPDYrr
, X86::VUNPCKHPDYrm
, 0 },
2941 { X86::VUNPCKHPDZ128rr
, X86::VUNPCKHPDZ128rm
, 0 },
2942 { X86::VUNPCKHPDZ256rr
, X86::VUNPCKHPDZ256rm
, 0 },
2943 { X86::VUNPCKHPDZrr
, X86::VUNPCKHPDZrm
, 0 },
2944 { X86::VUNPCKHPDrr
, X86::VUNPCKHPDrm
, 0 },
2945 { X86::VUNPCKHPSYrr
, X86::VUNPCKHPSYrm
, 0 },
2946 { X86::VUNPCKHPSZ128rr
, X86::VUNPCKHPSZ128rm
, 0 },
2947 { X86::VUNPCKHPSZ256rr
, X86::VUNPCKHPSZ256rm
, 0 },
2948 { X86::VUNPCKHPSZrr
, X86::VUNPCKHPSZrm
, 0 },
2949 { X86::VUNPCKHPSrr
, X86::VUNPCKHPSrm
, 0 },
2950 { X86::VUNPCKLPDYrr
, X86::VUNPCKLPDYrm
, 0 },
2951 { X86::VUNPCKLPDZ128rr
, X86::VUNPCKLPDZ128rm
, 0 },
2952 { X86::VUNPCKLPDZ256rr
, X86::VUNPCKLPDZ256rm
, 0 },
2953 { X86::VUNPCKLPDZrr
, X86::VUNPCKLPDZrm
, 0 },
2954 { X86::VUNPCKLPDrr
, X86::VUNPCKLPDrm
, 0 },
2955 { X86::VUNPCKLPSYrr
, X86::VUNPCKLPSYrm
, 0 },
2956 { X86::VUNPCKLPSZ128rr
, X86::VUNPCKLPSZ128rm
, 0 },
2957 { X86::VUNPCKLPSZ256rr
, X86::VUNPCKLPSZ256rm
, 0 },
2958 { X86::VUNPCKLPSZrr
, X86::VUNPCKLPSZrm
, 0 },
2959 { X86::VUNPCKLPSrr
, X86::VUNPCKLPSrm
, 0 },
2960 { X86::VXORPDYrr
, X86::VXORPDYrm
, 0 },
2961 { X86::VXORPDZ128rr
, X86::VXORPDZ128rm
, 0 },
2962 { X86::VXORPDZ256rr
, X86::VXORPDZ256rm
, 0 },
2963 { X86::VXORPDZrr
, X86::VXORPDZrm
, 0 },
2964 { X86::VXORPDrr
, X86::VXORPDrm
, 0 },
2965 { X86::VXORPSYrr
, X86::VXORPSYrm
, 0 },
2966 { X86::VXORPSZ128rr
, X86::VXORPSZ128rm
, 0 },
2967 { X86::VXORPSZ256rr
, X86::VXORPSZ256rm
, 0 },
2968 { X86::VXORPSZrr
, X86::VXORPSZrm
, 0 },
2969 { X86::VXORPSrr
, X86::VXORPSrm
, 0 },
2970 { X86::XOR16rr
, X86::XOR16rm
, 0 },
2971 { X86::XOR32rr
, X86::XOR32rm
, 0 },
2972 { X86::XOR64rr
, X86::XOR64rm
, 0 },
2973 { X86::XOR8rr
, X86::XOR8rm
, 0 },
2974 { X86::XORPDrr
, X86::XORPDrm
, TB_ALIGN_16
},
2975 { X86::XORPSrr
, X86::XORPSrm
, TB_ALIGN_16
},
2978 static const X86MemoryFoldTableEntry MemoryFoldTable3
[] = {
2979 { X86::VADDPDZ128rrkz
, X86::VADDPDZ128rmkz
, 0 },
2980 { X86::VADDPDZ256rrkz
, X86::VADDPDZ256rmkz
, 0 },
2981 { X86::VADDPDZrrkz
, X86::VADDPDZrmkz
, 0 },
2982 { X86::VADDPSZ128rrkz
, X86::VADDPSZ128rmkz
, 0 },
2983 { X86::VADDPSZ256rrkz
, X86::VADDPSZ256rmkz
, 0 },
2984 { X86::VADDPSZrrkz
, X86::VADDPSZrmkz
, 0 },
2985 { X86::VADDSDZrr_Intkz
, X86::VADDSDZrm_Intkz
, TB_NO_REVERSE
},
2986 { X86::VADDSSZrr_Intkz
, X86::VADDSSZrm_Intkz
, TB_NO_REVERSE
},
2987 { X86::VALIGNDZ128rrikz
, X86::VALIGNDZ128rmikz
, 0 },
2988 { X86::VALIGNDZ256rrikz
, X86::VALIGNDZ256rmikz
, 0 },
2989 { X86::VALIGNDZrrikz
, X86::VALIGNDZrmikz
, 0 },
2990 { X86::VALIGNQZ128rrikz
, X86::VALIGNQZ128rmikz
, 0 },
2991 { X86::VALIGNQZ256rrikz
, X86::VALIGNQZ256rmikz
, 0 },
2992 { X86::VALIGNQZrrikz
, X86::VALIGNQZrmikz
, 0 },
2993 { X86::VANDNPDZ128rrkz
, X86::VANDNPDZ128rmkz
, 0 },
2994 { X86::VANDNPDZ256rrkz
, X86::VANDNPDZ256rmkz
, 0 },
2995 { X86::VANDNPDZrrkz
, X86::VANDNPDZrmkz
, 0 },
2996 { X86::VANDNPSZ128rrkz
, X86::VANDNPSZ128rmkz
, 0 },
2997 { X86::VANDNPSZ256rrkz
, X86::VANDNPSZ256rmkz
, 0 },
2998 { X86::VANDNPSZrrkz
, X86::VANDNPSZrmkz
, 0 },
2999 { X86::VANDPDZ128rrkz
, X86::VANDPDZ128rmkz
, 0 },
3000 { X86::VANDPDZ256rrkz
, X86::VANDPDZ256rmkz
, 0 },
3001 { X86::VANDPDZrrkz
, X86::VANDPDZrmkz
, 0 },
3002 { X86::VANDPSZ128rrkz
, X86::VANDPSZ128rmkz
, 0 },
3003 { X86::VANDPSZ256rrkz
, X86::VANDPSZ256rmkz
, 0 },
3004 { X86::VANDPSZrrkz
, X86::VANDPSZrmkz
, 0 },
3005 { X86::VBLENDMPDZ128rrk
, X86::VBLENDMPDZ128rmk
, 0 },
3006 { X86::VBLENDMPDZ256rrk
, X86::VBLENDMPDZ256rmk
, 0 },
3007 { X86::VBLENDMPDZrrk
, X86::VBLENDMPDZrmk
, 0 },
3008 { X86::VBLENDMPSZ128rrk
, X86::VBLENDMPSZ128rmk
, 0 },
3009 { X86::VBLENDMPSZ256rrk
, X86::VBLENDMPSZ256rmk
, 0 },
3010 { X86::VBLENDMPSZrrk
, X86::VBLENDMPSZrmk
, 0 },
3011 { X86::VBROADCASTF32X2Z256rk
, X86::VBROADCASTF32X2Z256mk
, TB_NO_REVERSE
},
3012 { X86::VBROADCASTF32X2Zrk
, X86::VBROADCASTF32X2Zmk
, TB_NO_REVERSE
},
3013 { X86::VBROADCASTI32X2Z128rk
, X86::VBROADCASTI32X2Z128mk
, TB_NO_REVERSE
},
3014 { X86::VBROADCASTI32X2Z256rk
, X86::VBROADCASTI32X2Z256mk
, TB_NO_REVERSE
},
3015 { X86::VBROADCASTI32X2Zrk
, X86::VBROADCASTI32X2Zmk
, TB_NO_REVERSE
},
3016 { X86::VBROADCASTSDZ256rk
, X86::VBROADCASTSDZ256mk
, TB_NO_REVERSE
},
3017 { X86::VBROADCASTSDZrk
, X86::VBROADCASTSDZmk
, TB_NO_REVERSE
},
3018 { X86::VBROADCASTSSZ128rk
, X86::VBROADCASTSSZ128mk
, TB_NO_REVERSE
},
3019 { X86::VBROADCASTSSZ256rk
, X86::VBROADCASTSSZ256mk
, TB_NO_REVERSE
},
3020 { X86::VBROADCASTSSZrk
, X86::VBROADCASTSSZmk
, TB_NO_REVERSE
},
3021 { X86::VCMPPDZ128rrik
, X86::VCMPPDZ128rmik
, 0 },
3022 { X86::VCMPPDZ256rrik
, X86::VCMPPDZ256rmik
, 0 },
3023 { X86::VCMPPDZrrik
, X86::VCMPPDZrmik
, 0 },
3024 { X86::VCMPPSZ128rrik
, X86::VCMPPSZ128rmik
, 0 },
3025 { X86::VCMPPSZ256rrik
, X86::VCMPPSZ256rmik
, 0 },
3026 { X86::VCMPPSZrrik
, X86::VCMPPSZrmik
, 0 },
3027 { X86::VCMPSDZrr_Intk
, X86::VCMPSDZrm_Intk
, TB_NO_REVERSE
},
3028 { X86::VCMPSSZrr_Intk
, X86::VCMPSSZrm_Intk
, TB_NO_REVERSE
},
3029 { X86::VCVTDQ2PDZ128rrk
, X86::VCVTDQ2PDZ128rmk
, TB_NO_REVERSE
},
3030 { X86::VCVTDQ2PDZ256rrk
, X86::VCVTDQ2PDZ256rmk
, 0 },
3031 { X86::VCVTDQ2PDZrrk
, X86::VCVTDQ2PDZrmk
, 0 },
3032 { X86::VCVTDQ2PSZ128rrk
, X86::VCVTDQ2PSZ128rmk
, 0 },
3033 { X86::VCVTDQ2PSZ256rrk
, X86::VCVTDQ2PSZ256rmk
, 0 },
3034 { X86::VCVTDQ2PSZrrk
, X86::VCVTDQ2PSZrmk
, 0 },
3035 { X86::VCVTNE2PS2BF16Z128rrkz
, X86::VCVTNE2PS2BF16Z128rmkz
, 0 },
3036 { X86::VCVTNE2PS2BF16Z256rrkz
, X86::VCVTNE2PS2BF16Z256rmkz
, 0 },
3037 { X86::VCVTNE2PS2BF16Zrrkz
, X86::VCVTNE2PS2BF16Zrmkz
, 0 },
3038 { X86::VCVTNEPS2BF16Z128rrk
, X86::VCVTNEPS2BF16Z128rmk
, 0 },
3039 { X86::VCVTNEPS2BF16Z256rrk
, X86::VCVTNEPS2BF16Z256rmk
, 0 },
3040 { X86::VCVTNEPS2BF16Zrrk
, X86::VCVTNEPS2BF16Zrmk
, 0 },
3041 { X86::VCVTPD2DQZ128rrk
, X86::VCVTPD2DQZ128rmk
, 0 },
3042 { X86::VCVTPD2DQZ256rrk
, X86::VCVTPD2DQZ256rmk
, 0 },
3043 { X86::VCVTPD2DQZrrk
, X86::VCVTPD2DQZrmk
, 0 },
3044 { X86::VCVTPD2PSZ128rrk
, X86::VCVTPD2PSZ128rmk
, 0 },
3045 { X86::VCVTPD2PSZ256rrk
, X86::VCVTPD2PSZ256rmk
, 0 },
3046 { X86::VCVTPD2PSZrrk
, X86::VCVTPD2PSZrmk
, 0 },
3047 { X86::VCVTPD2QQZ128rrk
, X86::VCVTPD2QQZ128rmk
, 0 },
3048 { X86::VCVTPD2QQZ256rrk
, X86::VCVTPD2QQZ256rmk
, 0 },
3049 { X86::VCVTPD2QQZrrk
, X86::VCVTPD2QQZrmk
, 0 },
3050 { X86::VCVTPD2UDQZ128rrk
, X86::VCVTPD2UDQZ128rmk
, 0 },
3051 { X86::VCVTPD2UDQZ256rrk
, X86::VCVTPD2UDQZ256rmk
, 0 },
3052 { X86::VCVTPD2UDQZrrk
, X86::VCVTPD2UDQZrmk
, 0 },
3053 { X86::VCVTPD2UQQZ128rrk
, X86::VCVTPD2UQQZ128rmk
, 0 },
3054 { X86::VCVTPD2UQQZ256rrk
, X86::VCVTPD2UQQZ256rmk
, 0 },
3055 { X86::VCVTPD2UQQZrrk
, X86::VCVTPD2UQQZrmk
, 0 },
3056 { X86::VCVTPH2PSZ128rrk
, X86::VCVTPH2PSZ128rmk
, TB_NO_REVERSE
},
3057 { X86::VCVTPH2PSZ256rrk
, X86::VCVTPH2PSZ256rmk
, 0 },
3058 { X86::VCVTPH2PSZrrk
, X86::VCVTPH2PSZrmk
, 0 },
3059 { X86::VCVTPS2DQZ128rrk
, X86::VCVTPS2DQZ128rmk
, 0 },
3060 { X86::VCVTPS2DQZ256rrk
, X86::VCVTPS2DQZ256rmk
, 0 },
3061 { X86::VCVTPS2DQZrrk
, X86::VCVTPS2DQZrmk
, 0 },
3062 { X86::VCVTPS2PDZ128rrk
, X86::VCVTPS2PDZ128rmk
, TB_NO_REVERSE
},
3063 { X86::VCVTPS2PDZ256rrk
, X86::VCVTPS2PDZ256rmk
, 0 },
3064 { X86::VCVTPS2PDZrrk
, X86::VCVTPS2PDZrmk
, 0 },
3065 { X86::VCVTPS2QQZ128rrk
, X86::VCVTPS2QQZ128rmk
, TB_NO_REVERSE
},
3066 { X86::VCVTPS2QQZ256rrk
, X86::VCVTPS2QQZ256rmk
, 0 },
3067 { X86::VCVTPS2QQZrrk
, X86::VCVTPS2QQZrmk
, 0 },
3068 { X86::VCVTPS2UDQZ128rrk
, X86::VCVTPS2UDQZ128rmk
, 0 },
3069 { X86::VCVTPS2UDQZ256rrk
, X86::VCVTPS2UDQZ256rmk
, 0 },
3070 { X86::VCVTPS2UDQZrrk
, X86::VCVTPS2UDQZrmk
, 0 },
3071 { X86::VCVTPS2UQQZ128rrk
, X86::VCVTPS2UQQZ128rmk
, TB_NO_REVERSE
},
3072 { X86::VCVTPS2UQQZ256rrk
, X86::VCVTPS2UQQZ256rmk
, 0 },
3073 { X86::VCVTPS2UQQZrrk
, X86::VCVTPS2UQQZrmk
, 0 },
3074 { X86::VCVTQQ2PDZ128rrk
, X86::VCVTQQ2PDZ128rmk
, 0 },
3075 { X86::VCVTQQ2PDZ256rrk
, X86::VCVTQQ2PDZ256rmk
, 0 },
3076 { X86::VCVTQQ2PDZrrk
, X86::VCVTQQ2PDZrmk
, 0 },
3077 { X86::VCVTQQ2PSZ128rrk
, X86::VCVTQQ2PSZ128rmk
, 0 },
3078 { X86::VCVTQQ2PSZ256rrk
, X86::VCVTQQ2PSZ256rmk
, 0 },
3079 { X86::VCVTQQ2PSZrrk
, X86::VCVTQQ2PSZrmk
, 0 },
3080 { X86::VCVTSD2SSZrr_Intkz
, X86::VCVTSD2SSZrm_Intkz
, TB_NO_REVERSE
},
3081 { X86::VCVTSS2SDZrr_Intkz
, X86::VCVTSS2SDZrm_Intkz
, TB_NO_REVERSE
},
3082 { X86::VCVTTPD2DQZ128rrk
, X86::VCVTTPD2DQZ128rmk
, 0 },
3083 { X86::VCVTTPD2DQZ256rrk
, X86::VCVTTPD2DQZ256rmk
, 0 },
3084 { X86::VCVTTPD2DQZrrk
, X86::VCVTTPD2DQZrmk
, 0 },
3085 { X86::VCVTTPD2QQZ128rrk
, X86::VCVTTPD2QQZ128rmk
, 0 },
3086 { X86::VCVTTPD2QQZ256rrk
, X86::VCVTTPD2QQZ256rmk
, 0 },
3087 { X86::VCVTTPD2QQZrrk
, X86::VCVTTPD2QQZrmk
, 0 },
3088 { X86::VCVTTPD2UDQZ128rrk
, X86::VCVTTPD2UDQZ128rmk
, 0 },
3089 { X86::VCVTTPD2UDQZ256rrk
, X86::VCVTTPD2UDQZ256rmk
, 0 },
3090 { X86::VCVTTPD2UDQZrrk
, X86::VCVTTPD2UDQZrmk
, 0 },
3091 { X86::VCVTTPD2UQQZ128rrk
, X86::VCVTTPD2UQQZ128rmk
, 0 },
3092 { X86::VCVTTPD2UQQZ256rrk
, X86::VCVTTPD2UQQZ256rmk
, 0 },
3093 { X86::VCVTTPD2UQQZrrk
, X86::VCVTTPD2UQQZrmk
, 0 },
3094 { X86::VCVTTPS2DQZ128rrk
, X86::VCVTTPS2DQZ128rmk
, 0 },
3095 { X86::VCVTTPS2DQZ256rrk
, X86::VCVTTPS2DQZ256rmk
, 0 },
3096 { X86::VCVTTPS2DQZrrk
, X86::VCVTTPS2DQZrmk
, 0 },
3097 { X86::VCVTTPS2QQZ128rrk
, X86::VCVTTPS2QQZ128rmk
, TB_NO_REVERSE
},
3098 { X86::VCVTTPS2QQZ256rrk
, X86::VCVTTPS2QQZ256rmk
, 0 },
3099 { X86::VCVTTPS2QQZrrk
, X86::VCVTTPS2QQZrmk
, 0 },
3100 { X86::VCVTTPS2UDQZ128rrk
, X86::VCVTTPS2UDQZ128rmk
, 0 },
3101 { X86::VCVTTPS2UDQZ256rrk
, X86::VCVTTPS2UDQZ256rmk
, 0 },
3102 { X86::VCVTTPS2UDQZrrk
, X86::VCVTTPS2UDQZrmk
, 0 },
3103 { X86::VCVTTPS2UQQZ128rrk
, X86::VCVTTPS2UQQZ128rmk
, TB_NO_REVERSE
},
3104 { X86::VCVTTPS2UQQZ256rrk
, X86::VCVTTPS2UQQZ256rmk
, 0 },
3105 { X86::VCVTTPS2UQQZrrk
, X86::VCVTTPS2UQQZrmk
, 0 },
3106 { X86::VCVTUDQ2PDZ128rrk
, X86::VCVTUDQ2PDZ128rmk
, TB_NO_REVERSE
},
3107 { X86::VCVTUDQ2PDZ256rrk
, X86::VCVTUDQ2PDZ256rmk
, 0 },
3108 { X86::VCVTUDQ2PDZrrk
, X86::VCVTUDQ2PDZrmk
, 0 },
3109 { X86::VCVTUDQ2PSZ128rrk
, X86::VCVTUDQ2PSZ128rmk
, 0 },
3110 { X86::VCVTUDQ2PSZ256rrk
, X86::VCVTUDQ2PSZ256rmk
, 0 },
3111 { X86::VCVTUDQ2PSZrrk
, X86::VCVTUDQ2PSZrmk
, 0 },
3112 { X86::VCVTUQQ2PDZ128rrk
, X86::VCVTUQQ2PDZ128rmk
, 0 },
3113 { X86::VCVTUQQ2PDZ256rrk
, X86::VCVTUQQ2PDZ256rmk
, 0 },
3114 { X86::VCVTUQQ2PDZrrk
, X86::VCVTUQQ2PDZrmk
, 0 },
3115 { X86::VCVTUQQ2PSZ128rrk
, X86::VCVTUQQ2PSZ128rmk
, 0 },
3116 { X86::VCVTUQQ2PSZ256rrk
, X86::VCVTUQQ2PSZ256rmk
, 0 },
3117 { X86::VCVTUQQ2PSZrrk
, X86::VCVTUQQ2PSZrmk
, 0 },
3118 { X86::VDBPSADBWZ128rrikz
, X86::VDBPSADBWZ128rmikz
, 0 },
3119 { X86::VDBPSADBWZ256rrikz
, X86::VDBPSADBWZ256rmikz
, 0 },
3120 { X86::VDBPSADBWZrrikz
, X86::VDBPSADBWZrmikz
, 0 },
3121 { X86::VDIVPDZ128rrkz
, X86::VDIVPDZ128rmkz
, 0 },
3122 { X86::VDIVPDZ256rrkz
, X86::VDIVPDZ256rmkz
, 0 },
3123 { X86::VDIVPDZrrkz
, X86::VDIVPDZrmkz
, 0 },
3124 { X86::VDIVPSZ128rrkz
, X86::VDIVPSZ128rmkz
, 0 },
3125 { X86::VDIVPSZ256rrkz
, X86::VDIVPSZ256rmkz
, 0 },
3126 { X86::VDIVPSZrrkz
, X86::VDIVPSZrmkz
, 0 },
3127 { X86::VDIVSDZrr_Intkz
, X86::VDIVSDZrm_Intkz
, TB_NO_REVERSE
},
3128 { X86::VDIVSSZrr_Intkz
, X86::VDIVSSZrm_Intkz
, TB_NO_REVERSE
},
3129 { X86::VDPBF16PSZ128r
, X86::VDPBF16PSZ128m
, 0 },
3130 { X86::VDPBF16PSZ256r
, X86::VDPBF16PSZ256m
, 0 },
3131 { X86::VDPBF16PSZr
, X86::VDPBF16PSZm
, 0 },
3132 { X86::VEXP2PDZrk
, X86::VEXP2PDZmk
, 0 },
3133 { X86::VEXP2PSZrk
, X86::VEXP2PSZmk
, 0 },
3134 { X86::VEXPANDPDZ128rrk
, X86::VEXPANDPDZ128rmk
, TB_NO_REVERSE
},
3135 { X86::VEXPANDPDZ256rrk
, X86::VEXPANDPDZ256rmk
, TB_NO_REVERSE
},
3136 { X86::VEXPANDPDZrrk
, X86::VEXPANDPDZrmk
, TB_NO_REVERSE
},
3137 { X86::VEXPANDPSZ128rrk
, X86::VEXPANDPSZ128rmk
, TB_NO_REVERSE
},
3138 { X86::VEXPANDPSZ256rrk
, X86::VEXPANDPSZ256rmk
, TB_NO_REVERSE
},
3139 { X86::VEXPANDPSZrrk
, X86::VEXPANDPSZrmk
, TB_NO_REVERSE
},
3140 { X86::VFIXUPIMMPDZ128rri
, X86::VFIXUPIMMPDZ128rmi
, 0 },
3141 { X86::VFIXUPIMMPDZ256rri
, X86::VFIXUPIMMPDZ256rmi
, 0 },
3142 { X86::VFIXUPIMMPDZrri
, X86::VFIXUPIMMPDZrmi
, 0 },
3143 { X86::VFIXUPIMMPSZ128rri
, X86::VFIXUPIMMPSZ128rmi
, 0 },
3144 { X86::VFIXUPIMMPSZ256rri
, X86::VFIXUPIMMPSZ256rmi
, 0 },
3145 { X86::VFIXUPIMMPSZrri
, X86::VFIXUPIMMPSZrmi
, 0 },
3146 { X86::VFIXUPIMMSDZrri
, X86::VFIXUPIMMSDZrmi
, TB_NO_REVERSE
},
3147 { X86::VFIXUPIMMSSZrri
, X86::VFIXUPIMMSSZrmi
, TB_NO_REVERSE
},
3148 { X86::VFMADD132PDYr
, X86::VFMADD132PDYm
, 0 },
3149 { X86::VFMADD132PDZ128r
, X86::VFMADD132PDZ128m
, 0 },
3150 { X86::VFMADD132PDZ256r
, X86::VFMADD132PDZ256m
, 0 },
3151 { X86::VFMADD132PDZr
, X86::VFMADD132PDZm
, 0 },
3152 { X86::VFMADD132PDr
, X86::VFMADD132PDm
, 0 },
3153 { X86::VFMADD132PSYr
, X86::VFMADD132PSYm
, 0 },
3154 { X86::VFMADD132PSZ128r
, X86::VFMADD132PSZ128m
, 0 },
3155 { X86::VFMADD132PSZ256r
, X86::VFMADD132PSZ256m
, 0 },
3156 { X86::VFMADD132PSZr
, X86::VFMADD132PSZm
, 0 },
3157 { X86::VFMADD132PSr
, X86::VFMADD132PSm
, 0 },
3158 { X86::VFMADD132SDZr
, X86::VFMADD132SDZm
, 0 },
3159 { X86::VFMADD132SDZr_Int
, X86::VFMADD132SDZm_Int
, TB_NO_REVERSE
},
3160 { X86::VFMADD132SDr
, X86::VFMADD132SDm
, 0 },
3161 { X86::VFMADD132SDr_Int
, X86::VFMADD132SDm_Int
, TB_NO_REVERSE
},
3162 { X86::VFMADD132SSZr
, X86::VFMADD132SSZm
, 0 },
3163 { X86::VFMADD132SSZr_Int
, X86::VFMADD132SSZm_Int
, TB_NO_REVERSE
},
3164 { X86::VFMADD132SSr
, X86::VFMADD132SSm
, 0 },
3165 { X86::VFMADD132SSr_Int
, X86::VFMADD132SSm_Int
, TB_NO_REVERSE
},
3166 { X86::VFMADD213PDYr
, X86::VFMADD213PDYm
, 0 },
3167 { X86::VFMADD213PDZ128r
, X86::VFMADD213PDZ128m
, 0 },
3168 { X86::VFMADD213PDZ256r
, X86::VFMADD213PDZ256m
, 0 },
3169 { X86::VFMADD213PDZr
, X86::VFMADD213PDZm
, 0 },
3170 { X86::VFMADD213PDr
, X86::VFMADD213PDm
, 0 },
3171 { X86::VFMADD213PSYr
, X86::VFMADD213PSYm
, 0 },
3172 { X86::VFMADD213PSZ128r
, X86::VFMADD213PSZ128m
, 0 },
3173 { X86::VFMADD213PSZ256r
, X86::VFMADD213PSZ256m
, 0 },
3174 { X86::VFMADD213PSZr
, X86::VFMADD213PSZm
, 0 },
3175 { X86::VFMADD213PSr
, X86::VFMADD213PSm
, 0 },
3176 { X86::VFMADD213SDZr
, X86::VFMADD213SDZm
, 0 },
3177 { X86::VFMADD213SDZr_Int
, X86::VFMADD213SDZm_Int
, TB_NO_REVERSE
},
3178 { X86::VFMADD213SDr
, X86::VFMADD213SDm
, 0 },
3179 { X86::VFMADD213SDr_Int
, X86::VFMADD213SDm_Int
, TB_NO_REVERSE
},
3180 { X86::VFMADD213SSZr
, X86::VFMADD213SSZm
, 0 },
3181 { X86::VFMADD213SSZr_Int
, X86::VFMADD213SSZm_Int
, TB_NO_REVERSE
},
3182 { X86::VFMADD213SSr
, X86::VFMADD213SSm
, 0 },
3183 { X86::VFMADD213SSr_Int
, X86::VFMADD213SSm_Int
, TB_NO_REVERSE
},
3184 { X86::VFMADD231PDYr
, X86::VFMADD231PDYm
, 0 },
3185 { X86::VFMADD231PDZ128r
, X86::VFMADD231PDZ128m
, 0 },
3186 { X86::VFMADD231PDZ256r
, X86::VFMADD231PDZ256m
, 0 },
3187 { X86::VFMADD231PDZr
, X86::VFMADD231PDZm
, 0 },
3188 { X86::VFMADD231PDr
, X86::VFMADD231PDm
, 0 },
3189 { X86::VFMADD231PSYr
, X86::VFMADD231PSYm
, 0 },
3190 { X86::VFMADD231PSZ128r
, X86::VFMADD231PSZ128m
, 0 },
3191 { X86::VFMADD231PSZ256r
, X86::VFMADD231PSZ256m
, 0 },
3192 { X86::VFMADD231PSZr
, X86::VFMADD231PSZm
, 0 },
3193 { X86::VFMADD231PSr
, X86::VFMADD231PSm
, 0 },
3194 { X86::VFMADD231SDZr
, X86::VFMADD231SDZm
, 0 },
3195 { X86::VFMADD231SDZr_Int
, X86::VFMADD231SDZm_Int
, TB_NO_REVERSE
},
3196 { X86::VFMADD231SDr
, X86::VFMADD231SDm
, 0 },
3197 { X86::VFMADD231SDr_Int
, X86::VFMADD231SDm_Int
, TB_NO_REVERSE
},
3198 { X86::VFMADD231SSZr
, X86::VFMADD231SSZm
, 0 },
3199 { X86::VFMADD231SSZr_Int
, X86::VFMADD231SSZm_Int
, TB_NO_REVERSE
},
3200 { X86::VFMADD231SSr
, X86::VFMADD231SSm
, 0 },
3201 { X86::VFMADD231SSr_Int
, X86::VFMADD231SSm_Int
, TB_NO_REVERSE
},
3202 { X86::VFMADDPD4Yrr
, X86::VFMADDPD4Yrm
, 0 },
3203 { X86::VFMADDPD4rr
, X86::VFMADDPD4rm
, 0 },
3204 { X86::VFMADDPS4Yrr
, X86::VFMADDPS4Yrm
, 0 },
3205 { X86::VFMADDPS4rr
, X86::VFMADDPS4rm
, 0 },
3206 { X86::VFMADDSD4rr
, X86::VFMADDSD4rm
, 0 },
3207 { X86::VFMADDSD4rr_Int
, X86::VFMADDSD4rm_Int
, TB_NO_REVERSE
},
3208 { X86::VFMADDSS4rr
, X86::VFMADDSS4rm
, 0 },
3209 { X86::VFMADDSS4rr_Int
, X86::VFMADDSS4rm_Int
, TB_NO_REVERSE
},
3210 { X86::VFMADDSUB132PDYr
, X86::VFMADDSUB132PDYm
, 0 },
3211 { X86::VFMADDSUB132PDZ128r
, X86::VFMADDSUB132PDZ128m
, 0 },
3212 { X86::VFMADDSUB132PDZ256r
, X86::VFMADDSUB132PDZ256m
, 0 },
3213 { X86::VFMADDSUB132PDZr
, X86::VFMADDSUB132PDZm
, 0 },
3214 { X86::VFMADDSUB132PDr
, X86::VFMADDSUB132PDm
, 0 },
3215 { X86::VFMADDSUB132PSYr
, X86::VFMADDSUB132PSYm
, 0 },
3216 { X86::VFMADDSUB132PSZ128r
, X86::VFMADDSUB132PSZ128m
, 0 },
3217 { X86::VFMADDSUB132PSZ256r
, X86::VFMADDSUB132PSZ256m
, 0 },
3218 { X86::VFMADDSUB132PSZr
, X86::VFMADDSUB132PSZm
, 0 },
3219 { X86::VFMADDSUB132PSr
, X86::VFMADDSUB132PSm
, 0 },
3220 { X86::VFMADDSUB213PDYr
, X86::VFMADDSUB213PDYm
, 0 },
3221 { X86::VFMADDSUB213PDZ128r
, X86::VFMADDSUB213PDZ128m
, 0 },
3222 { X86::VFMADDSUB213PDZ256r
, X86::VFMADDSUB213PDZ256m
, 0 },
3223 { X86::VFMADDSUB213PDZr
, X86::VFMADDSUB213PDZm
, 0 },
3224 { X86::VFMADDSUB213PDr
, X86::VFMADDSUB213PDm
, 0 },
3225 { X86::VFMADDSUB213PSYr
, X86::VFMADDSUB213PSYm
, 0 },
3226 { X86::VFMADDSUB213PSZ128r
, X86::VFMADDSUB213PSZ128m
, 0 },
3227 { X86::VFMADDSUB213PSZ256r
, X86::VFMADDSUB213PSZ256m
, 0 },
3228 { X86::VFMADDSUB213PSZr
, X86::VFMADDSUB213PSZm
, 0 },
3229 { X86::VFMADDSUB213PSr
, X86::VFMADDSUB213PSm
, 0 },
3230 { X86::VFMADDSUB231PDYr
, X86::VFMADDSUB231PDYm
, 0 },
3231 { X86::VFMADDSUB231PDZ128r
, X86::VFMADDSUB231PDZ128m
, 0 },
3232 { X86::VFMADDSUB231PDZ256r
, X86::VFMADDSUB231PDZ256m
, 0 },
3233 { X86::VFMADDSUB231PDZr
, X86::VFMADDSUB231PDZm
, 0 },
3234 { X86::VFMADDSUB231PDr
, X86::VFMADDSUB231PDm
, 0 },
3235 { X86::VFMADDSUB231PSYr
, X86::VFMADDSUB231PSYm
, 0 },
3236 { X86::VFMADDSUB231PSZ128r
, X86::VFMADDSUB231PSZ128m
, 0 },
3237 { X86::VFMADDSUB231PSZ256r
, X86::VFMADDSUB231PSZ256m
, 0 },
3238 { X86::VFMADDSUB231PSZr
, X86::VFMADDSUB231PSZm
, 0 },
3239 { X86::VFMADDSUB231PSr
, X86::VFMADDSUB231PSm
, 0 },
3240 { X86::VFMADDSUBPD4Yrr
, X86::VFMADDSUBPD4Yrm
, 0 },
3241 { X86::VFMADDSUBPD4rr
, X86::VFMADDSUBPD4rm
, 0 },
3242 { X86::VFMADDSUBPS4Yrr
, X86::VFMADDSUBPS4Yrm
, 0 },
3243 { X86::VFMADDSUBPS4rr
, X86::VFMADDSUBPS4rm
, 0 },
3244 { X86::VFMSUB132PDYr
, X86::VFMSUB132PDYm
, 0 },
3245 { X86::VFMSUB132PDZ128r
, X86::VFMSUB132PDZ128m
, 0 },
3246 { X86::VFMSUB132PDZ256r
, X86::VFMSUB132PDZ256m
, 0 },
3247 { X86::VFMSUB132PDZr
, X86::VFMSUB132PDZm
, 0 },
3248 { X86::VFMSUB132PDr
, X86::VFMSUB132PDm
, 0 },
3249 { X86::VFMSUB132PSYr
, X86::VFMSUB132PSYm
, 0 },
3250 { X86::VFMSUB132PSZ128r
, X86::VFMSUB132PSZ128m
, 0 },
3251 { X86::VFMSUB132PSZ256r
, X86::VFMSUB132PSZ256m
, 0 },
3252 { X86::VFMSUB132PSZr
, X86::VFMSUB132PSZm
, 0 },
3253 { X86::VFMSUB132PSr
, X86::VFMSUB132PSm
, 0 },
3254 { X86::VFMSUB132SDZr
, X86::VFMSUB132SDZm
, 0 },
3255 { X86::VFMSUB132SDZr_Int
, X86::VFMSUB132SDZm_Int
, TB_NO_REVERSE
},
3256 { X86::VFMSUB132SDr
, X86::VFMSUB132SDm
, 0 },
3257 { X86::VFMSUB132SDr_Int
, X86::VFMSUB132SDm_Int
, TB_NO_REVERSE
},
3258 { X86::VFMSUB132SSZr
, X86::VFMSUB132SSZm
, 0 },
3259 { X86::VFMSUB132SSZr_Int
, X86::VFMSUB132SSZm_Int
, TB_NO_REVERSE
},
3260 { X86::VFMSUB132SSr
, X86::VFMSUB132SSm
, 0 },
3261 { X86::VFMSUB132SSr_Int
, X86::VFMSUB132SSm_Int
, TB_NO_REVERSE
},
3262 { X86::VFMSUB213PDYr
, X86::VFMSUB213PDYm
, 0 },
3263 { X86::VFMSUB213PDZ128r
, X86::VFMSUB213PDZ128m
, 0 },
3264 { X86::VFMSUB213PDZ256r
, X86::VFMSUB213PDZ256m
, 0 },
3265 { X86::VFMSUB213PDZr
, X86::VFMSUB213PDZm
, 0 },
3266 { X86::VFMSUB213PDr
, X86::VFMSUB213PDm
, 0 },
3267 { X86::VFMSUB213PSYr
, X86::VFMSUB213PSYm
, 0 },
3268 { X86::VFMSUB213PSZ128r
, X86::VFMSUB213PSZ128m
, 0 },
3269 { X86::VFMSUB213PSZ256r
, X86::VFMSUB213PSZ256m
, 0 },
3270 { X86::VFMSUB213PSZr
, X86::VFMSUB213PSZm
, 0 },
3271 { X86::VFMSUB213PSr
, X86::VFMSUB213PSm
, 0 },
3272 { X86::VFMSUB213SDZr
, X86::VFMSUB213SDZm
, 0 },
3273 { X86::VFMSUB213SDZr_Int
, X86::VFMSUB213SDZm_Int
, TB_NO_REVERSE
},
3274 { X86::VFMSUB213SDr
, X86::VFMSUB213SDm
, 0 },
3275 { X86::VFMSUB213SDr_Int
, X86::VFMSUB213SDm_Int
, TB_NO_REVERSE
},
3276 { X86::VFMSUB213SSZr
, X86::VFMSUB213SSZm
, 0 },
3277 { X86::VFMSUB213SSZr_Int
, X86::VFMSUB213SSZm_Int
, TB_NO_REVERSE
},
3278 { X86::VFMSUB213SSr
, X86::VFMSUB213SSm
, 0 },
3279 { X86::VFMSUB213SSr_Int
, X86::VFMSUB213SSm_Int
, TB_NO_REVERSE
},
3280 { X86::VFMSUB231PDYr
, X86::VFMSUB231PDYm
, 0 },
3281 { X86::VFMSUB231PDZ128r
, X86::VFMSUB231PDZ128m
, 0 },
3282 { X86::VFMSUB231PDZ256r
, X86::VFMSUB231PDZ256m
, 0 },
3283 { X86::VFMSUB231PDZr
, X86::VFMSUB231PDZm
, 0 },
3284 { X86::VFMSUB231PDr
, X86::VFMSUB231PDm
, 0 },
3285 { X86::VFMSUB231PSYr
, X86::VFMSUB231PSYm
, 0 },
3286 { X86::VFMSUB231PSZ128r
, X86::VFMSUB231PSZ128m
, 0 },
3287 { X86::VFMSUB231PSZ256r
, X86::VFMSUB231PSZ256m
, 0 },
3288 { X86::VFMSUB231PSZr
, X86::VFMSUB231PSZm
, 0 },
3289 { X86::VFMSUB231PSr
, X86::VFMSUB231PSm
, 0 },
3290 { X86::VFMSUB231SDZr
, X86::VFMSUB231SDZm
, 0 },
3291 { X86::VFMSUB231SDZr_Int
, X86::VFMSUB231SDZm_Int
, TB_NO_REVERSE
},
3292 { X86::VFMSUB231SDr
, X86::VFMSUB231SDm
, 0 },
3293 { X86::VFMSUB231SDr_Int
, X86::VFMSUB231SDm_Int
, TB_NO_REVERSE
},
3294 { X86::VFMSUB231SSZr
, X86::VFMSUB231SSZm
, 0 },
3295 { X86::VFMSUB231SSZr_Int
, X86::VFMSUB231SSZm_Int
, TB_NO_REVERSE
},
3296 { X86::VFMSUB231SSr
, X86::VFMSUB231SSm
, 0 },
3297 { X86::VFMSUB231SSr_Int
, X86::VFMSUB231SSm_Int
, TB_NO_REVERSE
},
3298 { X86::VFMSUBADD132PDYr
, X86::VFMSUBADD132PDYm
, 0 },
3299 { X86::VFMSUBADD132PDZ128r
, X86::VFMSUBADD132PDZ128m
, 0 },
3300 { X86::VFMSUBADD132PDZ256r
, X86::VFMSUBADD132PDZ256m
, 0 },
3301 { X86::VFMSUBADD132PDZr
, X86::VFMSUBADD132PDZm
, 0 },
3302 { X86::VFMSUBADD132PDr
, X86::VFMSUBADD132PDm
, 0 },
3303 { X86::VFMSUBADD132PSYr
, X86::VFMSUBADD132PSYm
, 0 },
3304 { X86::VFMSUBADD132PSZ128r
, X86::VFMSUBADD132PSZ128m
, 0 },
3305 { X86::VFMSUBADD132PSZ256r
, X86::VFMSUBADD132PSZ256m
, 0 },
3306 { X86::VFMSUBADD132PSZr
, X86::VFMSUBADD132PSZm
, 0 },
3307 { X86::VFMSUBADD132PSr
, X86::VFMSUBADD132PSm
, 0 },
3308 { X86::VFMSUBADD213PDYr
, X86::VFMSUBADD213PDYm
, 0 },
3309 { X86::VFMSUBADD213PDZ128r
, X86::VFMSUBADD213PDZ128m
, 0 },
3310 { X86::VFMSUBADD213PDZ256r
, X86::VFMSUBADD213PDZ256m
, 0 },
3311 { X86::VFMSUBADD213PDZr
, X86::VFMSUBADD213PDZm
, 0 },
3312 { X86::VFMSUBADD213PDr
, X86::VFMSUBADD213PDm
, 0 },
3313 { X86::VFMSUBADD213PSYr
, X86::VFMSUBADD213PSYm
, 0 },
3314 { X86::VFMSUBADD213PSZ128r
, X86::VFMSUBADD213PSZ128m
, 0 },
3315 { X86::VFMSUBADD213PSZ256r
, X86::VFMSUBADD213PSZ256m
, 0 },
3316 { X86::VFMSUBADD213PSZr
, X86::VFMSUBADD213PSZm
, 0 },
3317 { X86::VFMSUBADD213PSr
, X86::VFMSUBADD213PSm
, 0 },
3318 { X86::VFMSUBADD231PDYr
, X86::VFMSUBADD231PDYm
, 0 },
3319 { X86::VFMSUBADD231PDZ128r
, X86::VFMSUBADD231PDZ128m
, 0 },
3320 { X86::VFMSUBADD231PDZ256r
, X86::VFMSUBADD231PDZ256m
, 0 },
3321 { X86::VFMSUBADD231PDZr
, X86::VFMSUBADD231PDZm
, 0 },
3322 { X86::VFMSUBADD231PDr
, X86::VFMSUBADD231PDm
, 0 },
3323 { X86::VFMSUBADD231PSYr
, X86::VFMSUBADD231PSYm
, 0 },
3324 { X86::VFMSUBADD231PSZ128r
, X86::VFMSUBADD231PSZ128m
, 0 },
3325 { X86::VFMSUBADD231PSZ256r
, X86::VFMSUBADD231PSZ256m
, 0 },
3326 { X86::VFMSUBADD231PSZr
, X86::VFMSUBADD231PSZm
, 0 },
3327 { X86::VFMSUBADD231PSr
, X86::VFMSUBADD231PSm
, 0 },
3328 { X86::VFMSUBADDPD4Yrr
, X86::VFMSUBADDPD4Yrm
, 0 },
3329 { X86::VFMSUBADDPD4rr
, X86::VFMSUBADDPD4rm
, 0 },
3330 { X86::VFMSUBADDPS4Yrr
, X86::VFMSUBADDPS4Yrm
, 0 },
3331 { X86::VFMSUBADDPS4rr
, X86::VFMSUBADDPS4rm
, 0 },
3332 { X86::VFMSUBPD4Yrr
, X86::VFMSUBPD4Yrm
, 0 },
3333 { X86::VFMSUBPD4rr
, X86::VFMSUBPD4rm
, 0 },
3334 { X86::VFMSUBPS4Yrr
, X86::VFMSUBPS4Yrm
, 0 },
3335 { X86::VFMSUBPS4rr
, X86::VFMSUBPS4rm
, 0 },
3336 { X86::VFMSUBSD4rr
, X86::VFMSUBSD4rm
, 0 },
3337 { X86::VFMSUBSD4rr_Int
, X86::VFMSUBSD4rm_Int
, TB_NO_REVERSE
},
3338 { X86::VFMSUBSS4rr
, X86::VFMSUBSS4rm
, 0 },
3339 { X86::VFMSUBSS4rr_Int
, X86::VFMSUBSS4rm_Int
, TB_NO_REVERSE
},
3340 { X86::VFNMADD132PDYr
, X86::VFNMADD132PDYm
, 0 },
3341 { X86::VFNMADD132PDZ128r
, X86::VFNMADD132PDZ128m
, 0 },
3342 { X86::VFNMADD132PDZ256r
, X86::VFNMADD132PDZ256m
, 0 },
3343 { X86::VFNMADD132PDZr
, X86::VFNMADD132PDZm
, 0 },
3344 { X86::VFNMADD132PDr
, X86::VFNMADD132PDm
, 0 },
3345 { X86::VFNMADD132PSYr
, X86::VFNMADD132PSYm
, 0 },
3346 { X86::VFNMADD132PSZ128r
, X86::VFNMADD132PSZ128m
, 0 },
3347 { X86::VFNMADD132PSZ256r
, X86::VFNMADD132PSZ256m
, 0 },
3348 { X86::VFNMADD132PSZr
, X86::VFNMADD132PSZm
, 0 },
3349 { X86::VFNMADD132PSr
, X86::VFNMADD132PSm
, 0 },
3350 { X86::VFNMADD132SDZr
, X86::VFNMADD132SDZm
, 0 },
3351 { X86::VFNMADD132SDZr_Int
, X86::VFNMADD132SDZm_Int
, TB_NO_REVERSE
},
3352 { X86::VFNMADD132SDr
, X86::VFNMADD132SDm
, 0 },
3353 { X86::VFNMADD132SDr_Int
, X86::VFNMADD132SDm_Int
, TB_NO_REVERSE
},
3354 { X86::VFNMADD132SSZr
, X86::VFNMADD132SSZm
, 0 },
3355 { X86::VFNMADD132SSZr_Int
, X86::VFNMADD132SSZm_Int
, TB_NO_REVERSE
},
3356 { X86::VFNMADD132SSr
, X86::VFNMADD132SSm
, 0 },
3357 { X86::VFNMADD132SSr_Int
, X86::VFNMADD132SSm_Int
, TB_NO_REVERSE
},
3358 { X86::VFNMADD213PDYr
, X86::VFNMADD213PDYm
, 0 },
3359 { X86::VFNMADD213PDZ128r
, X86::VFNMADD213PDZ128m
, 0 },
3360 { X86::VFNMADD213PDZ256r
, X86::VFNMADD213PDZ256m
, 0 },
3361 { X86::VFNMADD213PDZr
, X86::VFNMADD213PDZm
, 0 },
3362 { X86::VFNMADD213PDr
, X86::VFNMADD213PDm
, 0 },
3363 { X86::VFNMADD213PSYr
, X86::VFNMADD213PSYm
, 0 },
3364 { X86::VFNMADD213PSZ128r
, X86::VFNMADD213PSZ128m
, 0 },
3365 { X86::VFNMADD213PSZ256r
, X86::VFNMADD213PSZ256m
, 0 },
3366 { X86::VFNMADD213PSZr
, X86::VFNMADD213PSZm
, 0 },
3367 { X86::VFNMADD213PSr
, X86::VFNMADD213PSm
, 0 },
3368 { X86::VFNMADD213SDZr
, X86::VFNMADD213SDZm
, 0 },
3369 { X86::VFNMADD213SDZr_Int
, X86::VFNMADD213SDZm_Int
, TB_NO_REVERSE
},
3370 { X86::VFNMADD213SDr
, X86::VFNMADD213SDm
, 0 },
3371 { X86::VFNMADD213SDr_Int
, X86::VFNMADD213SDm_Int
, TB_NO_REVERSE
},
3372 { X86::VFNMADD213SSZr
, X86::VFNMADD213SSZm
, 0 },
3373 { X86::VFNMADD213SSZr_Int
, X86::VFNMADD213SSZm_Int
, TB_NO_REVERSE
},
3374 { X86::VFNMADD213SSr
, X86::VFNMADD213SSm
, 0 },
3375 { X86::VFNMADD213SSr_Int
, X86::VFNMADD213SSm_Int
, TB_NO_REVERSE
},
3376 { X86::VFNMADD231PDYr
, X86::VFNMADD231PDYm
, 0 },
3377 { X86::VFNMADD231PDZ128r
, X86::VFNMADD231PDZ128m
, 0 },
3378 { X86::VFNMADD231PDZ256r
, X86::VFNMADD231PDZ256m
, 0 },
3379 { X86::VFNMADD231PDZr
, X86::VFNMADD231PDZm
, 0 },
3380 { X86::VFNMADD231PDr
, X86::VFNMADD231PDm
, 0 },
3381 { X86::VFNMADD231PSYr
, X86::VFNMADD231PSYm
, 0 },
3382 { X86::VFNMADD231PSZ128r
, X86::VFNMADD231PSZ128m
, 0 },
3383 { X86::VFNMADD231PSZ256r
, X86::VFNMADD231PSZ256m
, 0 },
3384 { X86::VFNMADD231PSZr
, X86::VFNMADD231PSZm
, 0 },
3385 { X86::VFNMADD231PSr
, X86::VFNMADD231PSm
, 0 },
3386 { X86::VFNMADD231SDZr
, X86::VFNMADD231SDZm
, 0 },
3387 { X86::VFNMADD231SDZr_Int
, X86::VFNMADD231SDZm_Int
, TB_NO_REVERSE
},
3388 { X86::VFNMADD231SDr
, X86::VFNMADD231SDm
, 0 },
3389 { X86::VFNMADD231SDr_Int
, X86::VFNMADD231SDm_Int
, TB_NO_REVERSE
},
3390 { X86::VFNMADD231SSZr
, X86::VFNMADD231SSZm
, 0 },
3391 { X86::VFNMADD231SSZr_Int
, X86::VFNMADD231SSZm_Int
, TB_NO_REVERSE
},
3392 { X86::VFNMADD231SSr
, X86::VFNMADD231SSm
, 0 },
3393 { X86::VFNMADD231SSr_Int
, X86::VFNMADD231SSm_Int
, TB_NO_REVERSE
},
3394 { X86::VFNMADDPD4Yrr
, X86::VFNMADDPD4Yrm
, 0 },
3395 { X86::VFNMADDPD4rr
, X86::VFNMADDPD4rm
, 0 },
3396 { X86::VFNMADDPS4Yrr
, X86::VFNMADDPS4Yrm
, 0 },
3397 { X86::VFNMADDPS4rr
, X86::VFNMADDPS4rm
, 0 },
3398 { X86::VFNMADDSD4rr
, X86::VFNMADDSD4rm
, 0 },
3399 { X86::VFNMADDSD4rr_Int
, X86::VFNMADDSD4rm_Int
, TB_NO_REVERSE
},
3400 { X86::VFNMADDSS4rr
, X86::VFNMADDSS4rm
, 0 },
3401 { X86::VFNMADDSS4rr_Int
, X86::VFNMADDSS4rm_Int
, TB_NO_REVERSE
},
3402 { X86::VFNMSUB132PDYr
, X86::VFNMSUB132PDYm
, 0 },
3403 { X86::VFNMSUB132PDZ128r
, X86::VFNMSUB132PDZ128m
, 0 },
3404 { X86::VFNMSUB132PDZ256r
, X86::VFNMSUB132PDZ256m
, 0 },
3405 { X86::VFNMSUB132PDZr
, X86::VFNMSUB132PDZm
, 0 },
3406 { X86::VFNMSUB132PDr
, X86::VFNMSUB132PDm
, 0 },
3407 { X86::VFNMSUB132PSYr
, X86::VFNMSUB132PSYm
, 0 },
3408 { X86::VFNMSUB132PSZ128r
, X86::VFNMSUB132PSZ128m
, 0 },
3409 { X86::VFNMSUB132PSZ256r
, X86::VFNMSUB132PSZ256m
, 0 },
3410 { X86::VFNMSUB132PSZr
, X86::VFNMSUB132PSZm
, 0 },
3411 { X86::VFNMSUB132PSr
, X86::VFNMSUB132PSm
, 0 },
3412 { X86::VFNMSUB132SDZr
, X86::VFNMSUB132SDZm
, 0 },
3413 { X86::VFNMSUB132SDZr_Int
, X86::VFNMSUB132SDZm_Int
, TB_NO_REVERSE
},
3414 { X86::VFNMSUB132SDr
, X86::VFNMSUB132SDm
, 0 },
3415 { X86::VFNMSUB132SDr_Int
, X86::VFNMSUB132SDm_Int
, TB_NO_REVERSE
},
3416 { X86::VFNMSUB132SSZr
, X86::VFNMSUB132SSZm
, 0 },
3417 { X86::VFNMSUB132SSZr_Int
, X86::VFNMSUB132SSZm_Int
, TB_NO_REVERSE
},
3418 { X86::VFNMSUB132SSr
, X86::VFNMSUB132SSm
, 0 },
3419 { X86::VFNMSUB132SSr_Int
, X86::VFNMSUB132SSm_Int
, TB_NO_REVERSE
},
3420 { X86::VFNMSUB213PDYr
, X86::VFNMSUB213PDYm
, 0 },
3421 { X86::VFNMSUB213PDZ128r
, X86::VFNMSUB213PDZ128m
, 0 },
3422 { X86::VFNMSUB213PDZ256r
, X86::VFNMSUB213PDZ256m
, 0 },
3423 { X86::VFNMSUB213PDZr
, X86::VFNMSUB213PDZm
, 0 },
3424 { X86::VFNMSUB213PDr
, X86::VFNMSUB213PDm
, 0 },
3425 { X86::VFNMSUB213PSYr
, X86::VFNMSUB213PSYm
, 0 },
3426 { X86::VFNMSUB213PSZ128r
, X86::VFNMSUB213PSZ128m
, 0 },
3427 { X86::VFNMSUB213PSZ256r
, X86::VFNMSUB213PSZ256m
, 0 },
3428 { X86::VFNMSUB213PSZr
, X86::VFNMSUB213PSZm
, 0 },
3429 { X86::VFNMSUB213PSr
, X86::VFNMSUB213PSm
, 0 },
3430 { X86::VFNMSUB213SDZr
, X86::VFNMSUB213SDZm
, 0 },
3431 { X86::VFNMSUB213SDZr_Int
, X86::VFNMSUB213SDZm_Int
, TB_NO_REVERSE
},
3432 { X86::VFNMSUB213SDr
, X86::VFNMSUB213SDm
, 0 },
3433 { X86::VFNMSUB213SDr_Int
, X86::VFNMSUB213SDm_Int
, TB_NO_REVERSE
},
3434 { X86::VFNMSUB213SSZr
, X86::VFNMSUB213SSZm
, 0 },
3435 { X86::VFNMSUB213SSZr_Int
, X86::VFNMSUB213SSZm_Int
, TB_NO_REVERSE
},
3436 { X86::VFNMSUB213SSr
, X86::VFNMSUB213SSm
, 0 },
3437 { X86::VFNMSUB213SSr_Int
, X86::VFNMSUB213SSm_Int
, TB_NO_REVERSE
},
3438 { X86::VFNMSUB231PDYr
, X86::VFNMSUB231PDYm
, 0 },
3439 { X86::VFNMSUB231PDZ128r
, X86::VFNMSUB231PDZ128m
, 0 },
3440 { X86::VFNMSUB231PDZ256r
, X86::VFNMSUB231PDZ256m
, 0 },
3441 { X86::VFNMSUB231PDZr
, X86::VFNMSUB231PDZm
, 0 },
3442 { X86::VFNMSUB231PDr
, X86::VFNMSUB231PDm
, 0 },
3443 { X86::VFNMSUB231PSYr
, X86::VFNMSUB231PSYm
, 0 },
3444 { X86::VFNMSUB231PSZ128r
, X86::VFNMSUB231PSZ128m
, 0 },
3445 { X86::VFNMSUB231PSZ256r
, X86::VFNMSUB231PSZ256m
, 0 },
3446 { X86::VFNMSUB231PSZr
, X86::VFNMSUB231PSZm
, 0 },
3447 { X86::VFNMSUB231PSr
, X86::VFNMSUB231PSm
, 0 },
3448 { X86::VFNMSUB231SDZr
, X86::VFNMSUB231SDZm
, 0 },
3449 { X86::VFNMSUB231SDZr_Int
, X86::VFNMSUB231SDZm_Int
, TB_NO_REVERSE
},
3450 { X86::VFNMSUB231SDr
, X86::VFNMSUB231SDm
, 0 },
3451 { X86::VFNMSUB231SDr_Int
, X86::VFNMSUB231SDm_Int
, TB_NO_REVERSE
},
3452 { X86::VFNMSUB231SSZr
, X86::VFNMSUB231SSZm
, 0 },
3453 { X86::VFNMSUB231SSZr_Int
, X86::VFNMSUB231SSZm_Int
, TB_NO_REVERSE
},
3454 { X86::VFNMSUB231SSr
, X86::VFNMSUB231SSm
, 0 },
3455 { X86::VFNMSUB231SSr_Int
, X86::VFNMSUB231SSm_Int
, TB_NO_REVERSE
},
3456 { X86::VFNMSUBPD4Yrr
, X86::VFNMSUBPD4Yrm
, 0 },
3457 { X86::VFNMSUBPD4rr
, X86::VFNMSUBPD4rm
, 0 },
3458 { X86::VFNMSUBPS4Yrr
, X86::VFNMSUBPS4Yrm
, 0 },
3459 { X86::VFNMSUBPS4rr
, X86::VFNMSUBPS4rm
, 0 },
3460 { X86::VFNMSUBSD4rr
, X86::VFNMSUBSD4rm
, 0 },
3461 { X86::VFNMSUBSD4rr_Int
, X86::VFNMSUBSD4rm_Int
, TB_NO_REVERSE
},
3462 { X86::VFNMSUBSS4rr
, X86::VFNMSUBSS4rm
, 0 },
3463 { X86::VFNMSUBSS4rr_Int
, X86::VFNMSUBSS4rm_Int
, TB_NO_REVERSE
},
3464 { X86::VGETEXPPDZ128rk
, X86::VGETEXPPDZ128mk
, 0 },
3465 { X86::VGETEXPPDZ256rk
, X86::VGETEXPPDZ256mk
, 0 },
3466 { X86::VGETEXPPDZrk
, X86::VGETEXPPDZmk
, 0 },
3467 { X86::VGETEXPPSZ128rk
, X86::VGETEXPPSZ128mk
, 0 },
3468 { X86::VGETEXPPSZ256rk
, X86::VGETEXPPSZ256mk
, 0 },
3469 { X86::VGETEXPPSZrk
, X86::VGETEXPPSZmk
, 0 },
3470 { X86::VGETEXPSDZrkz
, X86::VGETEXPSDZmkz
, TB_NO_REVERSE
},
3471 { X86::VGETEXPSSZrkz
, X86::VGETEXPSSZmkz
, TB_NO_REVERSE
},
3472 { X86::VGETMANTPDZ128rrik
, X86::VGETMANTPDZ128rmik
, 0 },
3473 { X86::VGETMANTPDZ256rrik
, X86::VGETMANTPDZ256rmik
, 0 },
3474 { X86::VGETMANTPDZrrik
, X86::VGETMANTPDZrmik
, 0 },
3475 { X86::VGETMANTPSZ128rrik
, X86::VGETMANTPSZ128rmik
, 0 },
3476 { X86::VGETMANTPSZ256rrik
, X86::VGETMANTPSZ256rmik
, 0 },
3477 { X86::VGETMANTPSZrrik
, X86::VGETMANTPSZrmik
, 0 },
3478 { X86::VGETMANTSDZrrikz
, X86::VGETMANTSDZrmikz
, TB_NO_REVERSE
},
3479 { X86::VGETMANTSSZrrikz
, X86::VGETMANTSSZrmikz
, TB_NO_REVERSE
},
3480 { X86::VGF2P8AFFINEINVQBZ128rrikz
, X86::VGF2P8AFFINEINVQBZ128rmikz
, 0 },
3481 { X86::VGF2P8AFFINEINVQBZ256rrikz
, X86::VGF2P8AFFINEINVQBZ256rmikz
, 0 },
3482 { X86::VGF2P8AFFINEINVQBZrrikz
, X86::VGF2P8AFFINEINVQBZrmikz
, 0 },
3483 { X86::VGF2P8AFFINEQBZ128rrikz
, X86::VGF2P8AFFINEQBZ128rmikz
, 0 },
3484 { X86::VGF2P8AFFINEQBZ256rrikz
, X86::VGF2P8AFFINEQBZ256rmikz
, 0 },
3485 { X86::VGF2P8AFFINEQBZrrikz
, X86::VGF2P8AFFINEQBZrmikz
, 0 },
3486 { X86::VGF2P8MULBZ128rrkz
, X86::VGF2P8MULBZ128rmkz
, 0 },
3487 { X86::VGF2P8MULBZ256rrkz
, X86::VGF2P8MULBZ256rmkz
, 0 },
3488 { X86::VGF2P8MULBZrrkz
, X86::VGF2P8MULBZrmkz
, 0 },
3489 { X86::VINSERTF32x4Z256rrkz
, X86::VINSERTF32x4Z256rmkz
, 0 },
3490 { X86::VINSERTF32x4Zrrkz
, X86::VINSERTF32x4Zrmkz
, 0 },
3491 { X86::VINSERTF32x8Zrrkz
, X86::VINSERTF32x8Zrmkz
, 0 },
3492 { X86::VINSERTF64x2Z256rrkz
, X86::VINSERTF64x2Z256rmkz
, 0 },
3493 { X86::VINSERTF64x2Zrrkz
, X86::VINSERTF64x2Zrmkz
, 0 },
3494 { X86::VINSERTF64x4Zrrkz
, X86::VINSERTF64x4Zrmkz
, 0 },
3495 { X86::VINSERTI32x4Z256rrkz
, X86::VINSERTI32x4Z256rmkz
, 0 },
3496 { X86::VINSERTI32x4Zrrkz
, X86::VINSERTI32x4Zrmkz
, 0 },
3497 { X86::VINSERTI32x8Zrrkz
, X86::VINSERTI32x8Zrmkz
, 0 },
3498 { X86::VINSERTI64x2Z256rrkz
, X86::VINSERTI64x2Z256rmkz
, 0 },
3499 { X86::VINSERTI64x2Zrrkz
, X86::VINSERTI64x2Zrmkz
, 0 },
3500 { X86::VINSERTI64x4Zrrkz
, X86::VINSERTI64x4Zrmkz
, 0 },
3501 { X86::VMAXCPDZ128rrkz
, X86::VMAXCPDZ128rmkz
, 0 },
3502 { X86::VMAXCPDZ256rrkz
, X86::VMAXCPDZ256rmkz
, 0 },
3503 { X86::VMAXCPDZrrkz
, X86::VMAXCPDZrmkz
, 0 },
3504 { X86::VMAXCPSZ128rrkz
, X86::VMAXCPSZ128rmkz
, 0 },
3505 { X86::VMAXCPSZ256rrkz
, X86::VMAXCPSZ256rmkz
, 0 },
3506 { X86::VMAXCPSZrrkz
, X86::VMAXCPSZrmkz
, 0 },
3507 { X86::VMAXPDZ128rrkz
, X86::VMAXPDZ128rmkz
, 0 },
3508 { X86::VMAXPDZ256rrkz
, X86::VMAXPDZ256rmkz
, 0 },
3509 { X86::VMAXPDZrrkz
, X86::VMAXPDZrmkz
, 0 },
3510 { X86::VMAXPSZ128rrkz
, X86::VMAXPSZ128rmkz
, 0 },
3511 { X86::VMAXPSZ256rrkz
, X86::VMAXPSZ256rmkz
, 0 },
3512 { X86::VMAXPSZrrkz
, X86::VMAXPSZrmkz
, 0 },
3513 { X86::VMAXSDZrr_Intkz
, X86::VMAXSDZrm_Intkz
, TB_NO_REVERSE
},
3514 { X86::VMAXSSZrr_Intkz
, X86::VMAXSSZrm_Intkz
, TB_NO_REVERSE
},
3515 { X86::VMINCPDZ128rrkz
, X86::VMINCPDZ128rmkz
, 0 },
3516 { X86::VMINCPDZ256rrkz
, X86::VMINCPDZ256rmkz
, 0 },
3517 { X86::VMINCPDZrrkz
, X86::VMINCPDZrmkz
, 0 },
3518 { X86::VMINCPSZ128rrkz
, X86::VMINCPSZ128rmkz
, 0 },
3519 { X86::VMINCPSZ256rrkz
, X86::VMINCPSZ256rmkz
, 0 },
3520 { X86::VMINCPSZrrkz
, X86::VMINCPSZrmkz
, 0 },
3521 { X86::VMINPDZ128rrkz
, X86::VMINPDZ128rmkz
, 0 },
3522 { X86::VMINPDZ256rrkz
, X86::VMINPDZ256rmkz
, 0 },
3523 { X86::VMINPDZrrkz
, X86::VMINPDZrmkz
, 0 },
3524 { X86::VMINPSZ128rrkz
, X86::VMINPSZ128rmkz
, 0 },
3525 { X86::VMINPSZ256rrkz
, X86::VMINPSZ256rmkz
, 0 },
3526 { X86::VMINPSZrrkz
, X86::VMINPSZrmkz
, 0 },
3527 { X86::VMINSDZrr_Intkz
, X86::VMINSDZrm_Intkz
, TB_NO_REVERSE
},
3528 { X86::VMINSSZrr_Intkz
, X86::VMINSSZrm_Intkz
, TB_NO_REVERSE
},
3529 { X86::VMOVAPDZ128rrk
, X86::VMOVAPDZ128rmk
, TB_NO_REVERSE
| TB_ALIGN_16
},
3530 { X86::VMOVAPDZ256rrk
, X86::VMOVAPDZ256rmk
, TB_NO_REVERSE
| TB_ALIGN_32
},
3531 { X86::VMOVAPDZrrk
, X86::VMOVAPDZrmk
, TB_NO_REVERSE
| TB_ALIGN_64
},
3532 { X86::VMOVAPSZ128rrk
, X86::VMOVAPSZ128rmk
, TB_NO_REVERSE
| TB_ALIGN_16
},
3533 { X86::VMOVAPSZ256rrk
, X86::VMOVAPSZ256rmk
, TB_NO_REVERSE
| TB_ALIGN_32
},
3534 { X86::VMOVAPSZrrk
, X86::VMOVAPSZrmk
, TB_NO_REVERSE
| TB_ALIGN_64
},
3535 { X86::VMOVDDUPZ128rrk
, X86::VMOVDDUPZ128rmk
, TB_NO_REVERSE
},
3536 { X86::VMOVDDUPZ256rrk
, X86::VMOVDDUPZ256rmk
, 0 },
3537 { X86::VMOVDDUPZrrk
, X86::VMOVDDUPZrmk
, 0 },
3538 { X86::VMOVDQA32Z128rrk
, X86::VMOVDQA32Z128rmk
, TB_NO_REVERSE
| TB_ALIGN_16
},
3539 { X86::VMOVDQA32Z256rrk
, X86::VMOVDQA32Z256rmk
, TB_NO_REVERSE
| TB_ALIGN_32
},
3540 { X86::VMOVDQA32Zrrk
, X86::VMOVDQA32Zrmk
, TB_NO_REVERSE
| TB_ALIGN_64
},
3541 { X86::VMOVDQA64Z128rrk
, X86::VMOVDQA64Z128rmk
, TB_NO_REVERSE
| TB_ALIGN_16
},
3542 { X86::VMOVDQA64Z256rrk
, X86::VMOVDQA64Z256rmk
, TB_NO_REVERSE
| TB_ALIGN_32
},
3543 { X86::VMOVDQA64Zrrk
, X86::VMOVDQA64Zrmk
, TB_NO_REVERSE
| TB_ALIGN_64
},
3544 { X86::VMOVDQU16Z128rrk
, X86::VMOVDQU16Z128rmk
, TB_NO_REVERSE
},
3545 { X86::VMOVDQU16Z256rrk
, X86::VMOVDQU16Z256rmk
, TB_NO_REVERSE
},
3546 { X86::VMOVDQU16Zrrk
, X86::VMOVDQU16Zrmk
, TB_NO_REVERSE
},
3547 { X86::VMOVDQU32Z128rrk
, X86::VMOVDQU32Z128rmk
, TB_NO_REVERSE
},
3548 { X86::VMOVDQU32Z256rrk
, X86::VMOVDQU32Z256rmk
, TB_NO_REVERSE
},
3549 { X86::VMOVDQU32Zrrk
, X86::VMOVDQU32Zrmk
, TB_NO_REVERSE
},
3550 { X86::VMOVDQU64Z128rrk
, X86::VMOVDQU64Z128rmk
, TB_NO_REVERSE
},
3551 { X86::VMOVDQU64Z256rrk
, X86::VMOVDQU64Z256rmk
, TB_NO_REVERSE
},
3552 { X86::VMOVDQU64Zrrk
, X86::VMOVDQU64Zrmk
, TB_NO_REVERSE
},
3553 { X86::VMOVDQU8Z128rrk
, X86::VMOVDQU8Z128rmk
, TB_NO_REVERSE
},
3554 { X86::VMOVDQU8Z256rrk
, X86::VMOVDQU8Z256rmk
, TB_NO_REVERSE
},
3555 { X86::VMOVDQU8Zrrk
, X86::VMOVDQU8Zrmk
, TB_NO_REVERSE
},
3556 { X86::VMOVSHDUPZ128rrk
, X86::VMOVSHDUPZ128rmk
, 0 },
3557 { X86::VMOVSHDUPZ256rrk
, X86::VMOVSHDUPZ256rmk
, 0 },
3558 { X86::VMOVSHDUPZrrk
, X86::VMOVSHDUPZrmk
, 0 },
3559 { X86::VMOVSLDUPZ128rrk
, X86::VMOVSLDUPZ128rmk
, 0 },
3560 { X86::VMOVSLDUPZ256rrk
, X86::VMOVSLDUPZ256rmk
, 0 },
3561 { X86::VMOVSLDUPZrrk
, X86::VMOVSLDUPZrmk
, 0 },
3562 { X86::VMOVUPDZ128rrk
, X86::VMOVUPDZ128rmk
, TB_NO_REVERSE
},
3563 { X86::VMOVUPDZ256rrk
, X86::VMOVUPDZ256rmk
, TB_NO_REVERSE
},
3564 { X86::VMOVUPDZrrk
, X86::VMOVUPDZrmk
, TB_NO_REVERSE
},
3565 { X86::VMOVUPSZ128rrk
, X86::VMOVUPSZ128rmk
, TB_NO_REVERSE
},
3566 { X86::VMOVUPSZ256rrk
, X86::VMOVUPSZ256rmk
, TB_NO_REVERSE
},
3567 { X86::VMOVUPSZrrk
, X86::VMOVUPSZrmk
, TB_NO_REVERSE
},
3568 { X86::VMULPDZ128rrkz
, X86::VMULPDZ128rmkz
, 0 },
3569 { X86::VMULPDZ256rrkz
, X86::VMULPDZ256rmkz
, 0 },
3570 { X86::VMULPDZrrkz
, X86::VMULPDZrmkz
, 0 },
3571 { X86::VMULPSZ128rrkz
, X86::VMULPSZ128rmkz
, 0 },
3572 { X86::VMULPSZ256rrkz
, X86::VMULPSZ256rmkz
, 0 },
3573 { X86::VMULPSZrrkz
, X86::VMULPSZrmkz
, 0 },
3574 { X86::VMULSDZrr_Intkz
, X86::VMULSDZrm_Intkz
, TB_NO_REVERSE
},
3575 { X86::VMULSSZrr_Intkz
, X86::VMULSSZrm_Intkz
, TB_NO_REVERSE
},
3576 { X86::VORPDZ128rrkz
, X86::VORPDZ128rmkz
, 0 },
3577 { X86::VORPDZ256rrkz
, X86::VORPDZ256rmkz
, 0 },
3578 { X86::VORPDZrrkz
, X86::VORPDZrmkz
, 0 },
3579 { X86::VORPSZ128rrkz
, X86::VORPSZ128rmkz
, 0 },
3580 { X86::VORPSZ256rrkz
, X86::VORPSZ256rmkz
, 0 },
3581 { X86::VORPSZrrkz
, X86::VORPSZrmkz
, 0 },
3582 { X86::VPABSBZ128rrk
, X86::VPABSBZ128rmk
, 0 },
3583 { X86::VPABSBZ256rrk
, X86::VPABSBZ256rmk
, 0 },
3584 { X86::VPABSBZrrk
, X86::VPABSBZrmk
, 0 },
3585 { X86::VPABSDZ128rrk
, X86::VPABSDZ128rmk
, 0 },
3586 { X86::VPABSDZ256rrk
, X86::VPABSDZ256rmk
, 0 },
3587 { X86::VPABSDZrrk
, X86::VPABSDZrmk
, 0 },
3588 { X86::VPABSQZ128rrk
, X86::VPABSQZ128rmk
, 0 },
3589 { X86::VPABSQZ256rrk
, X86::VPABSQZ256rmk
, 0 },
3590 { X86::VPABSQZrrk
, X86::VPABSQZrmk
, 0 },
3591 { X86::VPABSWZ128rrk
, X86::VPABSWZ128rmk
, 0 },
3592 { X86::VPABSWZ256rrk
, X86::VPABSWZ256rmk
, 0 },
3593 { X86::VPABSWZrrk
, X86::VPABSWZrmk
, 0 },
3594 { X86::VPACKSSDWZ128rrkz
, X86::VPACKSSDWZ128rmkz
, 0 },
3595 { X86::VPACKSSDWZ256rrkz
, X86::VPACKSSDWZ256rmkz
, 0 },
3596 { X86::VPACKSSDWZrrkz
, X86::VPACKSSDWZrmkz
, 0 },
3597 { X86::VPACKSSWBZ128rrkz
, X86::VPACKSSWBZ128rmkz
, 0 },
3598 { X86::VPACKSSWBZ256rrkz
, X86::VPACKSSWBZ256rmkz
, 0 },
3599 { X86::VPACKSSWBZrrkz
, X86::VPACKSSWBZrmkz
, 0 },
3600 { X86::VPACKUSDWZ128rrkz
, X86::VPACKUSDWZ128rmkz
, 0 },
3601 { X86::VPACKUSDWZ256rrkz
, X86::VPACKUSDWZ256rmkz
, 0 },
3602 { X86::VPACKUSDWZrrkz
, X86::VPACKUSDWZrmkz
, 0 },
3603 { X86::VPACKUSWBZ128rrkz
, X86::VPACKUSWBZ128rmkz
, 0 },
3604 { X86::VPACKUSWBZ256rrkz
, X86::VPACKUSWBZ256rmkz
, 0 },
3605 { X86::VPACKUSWBZrrkz
, X86::VPACKUSWBZrmkz
, 0 },
3606 { X86::VPADDBZ128rrkz
, X86::VPADDBZ128rmkz
, 0 },
3607 { X86::VPADDBZ256rrkz
, X86::VPADDBZ256rmkz
, 0 },
3608 { X86::VPADDBZrrkz
, X86::VPADDBZrmkz
, 0 },
3609 { X86::VPADDDZ128rrkz
, X86::VPADDDZ128rmkz
, 0 },
3610 { X86::VPADDDZ256rrkz
, X86::VPADDDZ256rmkz
, 0 },
3611 { X86::VPADDDZrrkz
, X86::VPADDDZrmkz
, 0 },
3612 { X86::VPADDQZ128rrkz
, X86::VPADDQZ128rmkz
, 0 },
3613 { X86::VPADDQZ256rrkz
, X86::VPADDQZ256rmkz
, 0 },
3614 { X86::VPADDQZrrkz
, X86::VPADDQZrmkz
, 0 },
3615 { X86::VPADDSBZ128rrkz
, X86::VPADDSBZ128rmkz
, 0 },
3616 { X86::VPADDSBZ256rrkz
, X86::VPADDSBZ256rmkz
, 0 },
3617 { X86::VPADDSBZrrkz
, X86::VPADDSBZrmkz
, 0 },
3618 { X86::VPADDSWZ128rrkz
, X86::VPADDSWZ128rmkz
, 0 },
3619 { X86::VPADDSWZ256rrkz
, X86::VPADDSWZ256rmkz
, 0 },
3620 { X86::VPADDSWZrrkz
, X86::VPADDSWZrmkz
, 0 },
3621 { X86::VPADDUSBZ128rrkz
, X86::VPADDUSBZ128rmkz
, 0 },
3622 { X86::VPADDUSBZ256rrkz
, X86::VPADDUSBZ256rmkz
, 0 },
3623 { X86::VPADDUSBZrrkz
, X86::VPADDUSBZrmkz
, 0 },
3624 { X86::VPADDUSWZ128rrkz
, X86::VPADDUSWZ128rmkz
, 0 },
3625 { X86::VPADDUSWZ256rrkz
, X86::VPADDUSWZ256rmkz
, 0 },
3626 { X86::VPADDUSWZrrkz
, X86::VPADDUSWZrmkz
, 0 },
3627 { X86::VPADDWZ128rrkz
, X86::VPADDWZ128rmkz
, 0 },
3628 { X86::VPADDWZ256rrkz
, X86::VPADDWZ256rmkz
, 0 },
3629 { X86::VPADDWZrrkz
, X86::VPADDWZrmkz
, 0 },
3630 { X86::VPALIGNRZ128rrikz
, X86::VPALIGNRZ128rmikz
, 0 },
3631 { X86::VPALIGNRZ256rrikz
, X86::VPALIGNRZ256rmikz
, 0 },
3632 { X86::VPALIGNRZrrikz
, X86::VPALIGNRZrmikz
, 0 },
3633 { X86::VPANDDZ128rrkz
, X86::VPANDDZ128rmkz
, 0 },
3634 { X86::VPANDDZ256rrkz
, X86::VPANDDZ256rmkz
, 0 },
3635 { X86::VPANDDZrrkz
, X86::VPANDDZrmkz
, 0 },
3636 { X86::VPANDNDZ128rrkz
, X86::VPANDNDZ128rmkz
, 0 },
3637 { X86::VPANDNDZ256rrkz
, X86::VPANDNDZ256rmkz
, 0 },
3638 { X86::VPANDNDZrrkz
, X86::VPANDNDZrmkz
, 0 },
3639 { X86::VPANDNQZ128rrkz
, X86::VPANDNQZ128rmkz
, 0 },
3640 { X86::VPANDNQZ256rrkz
, X86::VPANDNQZ256rmkz
, 0 },
3641 { X86::VPANDNQZrrkz
, X86::VPANDNQZrmkz
, 0 },
3642 { X86::VPANDQZ128rrkz
, X86::VPANDQZ128rmkz
, 0 },
3643 { X86::VPANDQZ256rrkz
, X86::VPANDQZ256rmkz
, 0 },
3644 { X86::VPANDQZrrkz
, X86::VPANDQZrmkz
, 0 },
3645 { X86::VPAVGBZ128rrkz
, X86::VPAVGBZ128rmkz
, 0 },
3646 { X86::VPAVGBZ256rrkz
, X86::VPAVGBZ256rmkz
, 0 },
3647 { X86::VPAVGBZrrkz
, X86::VPAVGBZrmkz
, 0 },
3648 { X86::VPAVGWZ128rrkz
, X86::VPAVGWZ128rmkz
, 0 },
3649 { X86::VPAVGWZ256rrkz
, X86::VPAVGWZ256rmkz
, 0 },
3650 { X86::VPAVGWZrrkz
, X86::VPAVGWZrmkz
, 0 },
3651 { X86::VPBLENDMBZ128rrk
, X86::VPBLENDMBZ128rmk
, 0 },
3652 { X86::VPBLENDMBZ256rrk
, X86::VPBLENDMBZ256rmk
, 0 },
3653 { X86::VPBLENDMBZrrk
, X86::VPBLENDMBZrmk
, 0 },
3654 { X86::VPBLENDMDZ128rrk
, X86::VPBLENDMDZ128rmk
, 0 },
3655 { X86::VPBLENDMDZ256rrk
, X86::VPBLENDMDZ256rmk
, 0 },
3656 { X86::VPBLENDMDZrrk
, X86::VPBLENDMDZrmk
, 0 },
3657 { X86::VPBLENDMQZ128rrk
, X86::VPBLENDMQZ128rmk
, 0 },
3658 { X86::VPBLENDMQZ256rrk
, X86::VPBLENDMQZ256rmk
, 0 },
3659 { X86::VPBLENDMQZrrk
, X86::VPBLENDMQZrmk
, 0 },
3660 { X86::VPBLENDMWZ128rrk
, X86::VPBLENDMWZ128rmk
, 0 },
3661 { X86::VPBLENDMWZ256rrk
, X86::VPBLENDMWZ256rmk
, 0 },
3662 { X86::VPBLENDMWZrrk
, X86::VPBLENDMWZrmk
, 0 },
3663 { X86::VPBROADCASTBZ128rk
, X86::VPBROADCASTBZ128mk
, TB_NO_REVERSE
},
3664 { X86::VPBROADCASTBZ256rk
, X86::VPBROADCASTBZ256mk
, TB_NO_REVERSE
},
3665 { X86::VPBROADCASTBZrk
, X86::VPBROADCASTBZmk
, TB_NO_REVERSE
},
3666 { X86::VPBROADCASTDZ128rk
, X86::VPBROADCASTDZ128mk
, TB_NO_REVERSE
},
3667 { X86::VPBROADCASTDZ256rk
, X86::VPBROADCASTDZ256mk
, TB_NO_REVERSE
},
3668 { X86::VPBROADCASTDZrk
, X86::VPBROADCASTDZmk
, TB_NO_REVERSE
},
3669 { X86::VPBROADCASTQZ128rk
, X86::VPBROADCASTQZ128mk
, TB_NO_REVERSE
},
3670 { X86::VPBROADCASTQZ256rk
, X86::VPBROADCASTQZ256mk
, TB_NO_REVERSE
},
3671 { X86::VPBROADCASTQZrk
, X86::VPBROADCASTQZmk
, TB_NO_REVERSE
},
3672 { X86::VPBROADCASTWZ128rk
, X86::VPBROADCASTWZ128mk
, TB_NO_REVERSE
},
3673 { X86::VPBROADCASTWZ256rk
, X86::VPBROADCASTWZ256mk
, TB_NO_REVERSE
},
3674 { X86::VPBROADCASTWZrk
, X86::VPBROADCASTWZmk
, TB_NO_REVERSE
},
3675 { X86::VPCMOVYrrr
, X86::VPCMOVYrrm
, 0 },
3676 { X86::VPCMOVrrr
, X86::VPCMOVrrm
, 0 },
3677 { X86::VPCMPBZ128rrik
, X86::VPCMPBZ128rmik
, 0 },
3678 { X86::VPCMPBZ256rrik
, X86::VPCMPBZ256rmik
, 0 },
3679 { X86::VPCMPBZrrik
, X86::VPCMPBZrmik
, 0 },
3680 { X86::VPCMPDZ128rrik
, X86::VPCMPDZ128rmik
, 0 },
3681 { X86::VPCMPDZ256rrik
, X86::VPCMPDZ256rmik
, 0 },
3682 { X86::VPCMPDZrrik
, X86::VPCMPDZrmik
, 0 },
3683 { X86::VPCMPEQBZ128rrk
, X86::VPCMPEQBZ128rmk
, 0 },
3684 { X86::VPCMPEQBZ256rrk
, X86::VPCMPEQBZ256rmk
, 0 },
3685 { X86::VPCMPEQBZrrk
, X86::VPCMPEQBZrmk
, 0 },
3686 { X86::VPCMPEQDZ128rrk
, X86::VPCMPEQDZ128rmk
, 0 },
3687 { X86::VPCMPEQDZ256rrk
, X86::VPCMPEQDZ256rmk
, 0 },
3688 { X86::VPCMPEQDZrrk
, X86::VPCMPEQDZrmk
, 0 },
3689 { X86::VPCMPEQQZ128rrk
, X86::VPCMPEQQZ128rmk
, 0 },
3690 { X86::VPCMPEQQZ256rrk
, X86::VPCMPEQQZ256rmk
, 0 },
3691 { X86::VPCMPEQQZrrk
, X86::VPCMPEQQZrmk
, 0 },
3692 { X86::VPCMPEQWZ128rrk
, X86::VPCMPEQWZ128rmk
, 0 },
3693 { X86::VPCMPEQWZ256rrk
, X86::VPCMPEQWZ256rmk
, 0 },
3694 { X86::VPCMPEQWZrrk
, X86::VPCMPEQWZrmk
, 0 },
3695 { X86::VPCMPGTBZ128rrk
, X86::VPCMPGTBZ128rmk
, 0 },
3696 { X86::VPCMPGTBZ256rrk
, X86::VPCMPGTBZ256rmk
, 0 },
3697 { X86::VPCMPGTBZrrk
, X86::VPCMPGTBZrmk
, 0 },
3698 { X86::VPCMPGTDZ128rrk
, X86::VPCMPGTDZ128rmk
, 0 },
3699 { X86::VPCMPGTDZ256rrk
, X86::VPCMPGTDZ256rmk
, 0 },
3700 { X86::VPCMPGTDZrrk
, X86::VPCMPGTDZrmk
, 0 },
3701 { X86::VPCMPGTQZ128rrk
, X86::VPCMPGTQZ128rmk
, 0 },
3702 { X86::VPCMPGTQZ256rrk
, X86::VPCMPGTQZ256rmk
, 0 },
3703 { X86::VPCMPGTQZrrk
, X86::VPCMPGTQZrmk
, 0 },
3704 { X86::VPCMPGTWZ128rrk
, X86::VPCMPGTWZ128rmk
, 0 },
3705 { X86::VPCMPGTWZ256rrk
, X86::VPCMPGTWZ256rmk
, 0 },
3706 { X86::VPCMPGTWZrrk
, X86::VPCMPGTWZrmk
, 0 },
3707 { X86::VPCMPQZ128rrik
, X86::VPCMPQZ128rmik
, 0 },
3708 { X86::VPCMPQZ256rrik
, X86::VPCMPQZ256rmik
, 0 },
3709 { X86::VPCMPQZrrik
, X86::VPCMPQZrmik
, 0 },
3710 { X86::VPCMPUBZ128rrik
, X86::VPCMPUBZ128rmik
, 0 },
3711 { X86::VPCMPUBZ256rrik
, X86::VPCMPUBZ256rmik
, 0 },
3712 { X86::VPCMPUBZrrik
, X86::VPCMPUBZrmik
, 0 },
3713 { X86::VPCMPUDZ128rrik
, X86::VPCMPUDZ128rmik
, 0 },
3714 { X86::VPCMPUDZ256rrik
, X86::VPCMPUDZ256rmik
, 0 },
3715 { X86::VPCMPUDZrrik
, X86::VPCMPUDZrmik
, 0 },
3716 { X86::VPCMPUQZ128rrik
, X86::VPCMPUQZ128rmik
, 0 },
3717 { X86::VPCMPUQZ256rrik
, X86::VPCMPUQZ256rmik
, 0 },
3718 { X86::VPCMPUQZrrik
, X86::VPCMPUQZrmik
, 0 },
3719 { X86::VPCMPUWZ128rrik
, X86::VPCMPUWZ128rmik
, 0 },
3720 { X86::VPCMPUWZ256rrik
, X86::VPCMPUWZ256rmik
, 0 },
3721 { X86::VPCMPUWZrrik
, X86::VPCMPUWZrmik
, 0 },
3722 { X86::VPCMPWZ128rrik
, X86::VPCMPWZ128rmik
, 0 },
3723 { X86::VPCMPWZ256rrik
, X86::VPCMPWZ256rmik
, 0 },
3724 { X86::VPCMPWZrrik
, X86::VPCMPWZrmik
, 0 },
3725 { X86::VPCONFLICTDZ128rrk
, X86::VPCONFLICTDZ128rmk
, 0 },
3726 { X86::VPCONFLICTDZ256rrk
, X86::VPCONFLICTDZ256rmk
, 0 },
3727 { X86::VPCONFLICTDZrrk
, X86::VPCONFLICTDZrmk
, 0 },
3728 { X86::VPCONFLICTQZ128rrk
, X86::VPCONFLICTQZ128rmk
, 0 },
3729 { X86::VPCONFLICTQZ256rrk
, X86::VPCONFLICTQZ256rmk
, 0 },
3730 { X86::VPCONFLICTQZrrk
, X86::VPCONFLICTQZrmk
, 0 },
3731 { X86::VPDPBUSDSZ128r
, X86::VPDPBUSDSZ128m
, 0 },
3732 { X86::VPDPBUSDSZ256r
, X86::VPDPBUSDSZ256m
, 0 },
3733 { X86::VPDPBUSDSZr
, X86::VPDPBUSDSZm
, 0 },
3734 { X86::VPDPBUSDZ128r
, X86::VPDPBUSDZ128m
, 0 },
3735 { X86::VPDPBUSDZ256r
, X86::VPDPBUSDZ256m
, 0 },
3736 { X86::VPDPBUSDZr
, X86::VPDPBUSDZm
, 0 },
3737 { X86::VPDPWSSDSZ128r
, X86::VPDPWSSDSZ128m
, 0 },
3738 { X86::VPDPWSSDSZ256r
, X86::VPDPWSSDSZ256m
, 0 },
3739 { X86::VPDPWSSDSZr
, X86::VPDPWSSDSZm
, 0 },
3740 { X86::VPDPWSSDZ128r
, X86::VPDPWSSDZ128m
, 0 },
3741 { X86::VPDPWSSDZ256r
, X86::VPDPWSSDZ256m
, 0 },
3742 { X86::VPDPWSSDZr
, X86::VPDPWSSDZm
, 0 },
3743 { X86::VPERMBZ128rrkz
, X86::VPERMBZ128rmkz
, 0 },
3744 { X86::VPERMBZ256rrkz
, X86::VPERMBZ256rmkz
, 0 },
3745 { X86::VPERMBZrrkz
, X86::VPERMBZrmkz
, 0 },
3746 { X86::VPERMDZ256rrkz
, X86::VPERMDZ256rmkz
, 0 },
3747 { X86::VPERMDZrrkz
, X86::VPERMDZrmkz
, 0 },
3748 { X86::VPERMI2B128rr
, X86::VPERMI2B128rm
, 0 },
3749 { X86::VPERMI2B256rr
, X86::VPERMI2B256rm
, 0 },
3750 { X86::VPERMI2Brr
, X86::VPERMI2Brm
, 0 },
3751 { X86::VPERMI2D128rr
, X86::VPERMI2D128rm
, 0 },
3752 { X86::VPERMI2D256rr
, X86::VPERMI2D256rm
, 0 },
3753 { X86::VPERMI2Drr
, X86::VPERMI2Drm
, 0 },
3754 { X86::VPERMI2PD128rr
, X86::VPERMI2PD128rm
, 0 },
3755 { X86::VPERMI2PD256rr
, X86::VPERMI2PD256rm
, 0 },
3756 { X86::VPERMI2PDrr
, X86::VPERMI2PDrm
, 0 },
3757 { X86::VPERMI2PS128rr
, X86::VPERMI2PS128rm
, 0 },
3758 { X86::VPERMI2PS256rr
, X86::VPERMI2PS256rm
, 0 },
3759 { X86::VPERMI2PSrr
, X86::VPERMI2PSrm
, 0 },
3760 { X86::VPERMI2Q128rr
, X86::VPERMI2Q128rm
, 0 },
3761 { X86::VPERMI2Q256rr
, X86::VPERMI2Q256rm
, 0 },
3762 { X86::VPERMI2Qrr
, X86::VPERMI2Qrm
, 0 },
3763 { X86::VPERMI2W128rr
, X86::VPERMI2W128rm
, 0 },
3764 { X86::VPERMI2W256rr
, X86::VPERMI2W256rm
, 0 },
3765 { X86::VPERMI2Wrr
, X86::VPERMI2Wrm
, 0 },
3766 { X86::VPERMIL2PDYrr
, X86::VPERMIL2PDYrm
, 0 },
3767 { X86::VPERMIL2PDrr
, X86::VPERMIL2PDrm
, 0 },
3768 { X86::VPERMIL2PSYrr
, X86::VPERMIL2PSYrm
, 0 },
3769 { X86::VPERMIL2PSrr
, X86::VPERMIL2PSrm
, 0 },
3770 { X86::VPERMILPDZ128rik
, X86::VPERMILPDZ128mik
, 0 },
3771 { X86::VPERMILPDZ128rrkz
, X86::VPERMILPDZ128rmkz
, 0 },
3772 { X86::VPERMILPDZ256rik
, X86::VPERMILPDZ256mik
, 0 },
3773 { X86::VPERMILPDZ256rrkz
, X86::VPERMILPDZ256rmkz
, 0 },
3774 { X86::VPERMILPDZrik
, X86::VPERMILPDZmik
, 0 },
3775 { X86::VPERMILPDZrrkz
, X86::VPERMILPDZrmkz
, 0 },
3776 { X86::VPERMILPSZ128rik
, X86::VPERMILPSZ128mik
, 0 },
3777 { X86::VPERMILPSZ128rrkz
, X86::VPERMILPSZ128rmkz
, 0 },
3778 { X86::VPERMILPSZ256rik
, X86::VPERMILPSZ256mik
, 0 },
3779 { X86::VPERMILPSZ256rrkz
, X86::VPERMILPSZ256rmkz
, 0 },
3780 { X86::VPERMILPSZrik
, X86::VPERMILPSZmik
, 0 },
3781 { X86::VPERMILPSZrrkz
, X86::VPERMILPSZrmkz
, 0 },
3782 { X86::VPERMPDZ256rik
, X86::VPERMPDZ256mik
, 0 },
3783 { X86::VPERMPDZ256rrkz
, X86::VPERMPDZ256rmkz
, 0 },
3784 { X86::VPERMPDZrik
, X86::VPERMPDZmik
, 0 },
3785 { X86::VPERMPDZrrkz
, X86::VPERMPDZrmkz
, 0 },
3786 { X86::VPERMPSZ256rrkz
, X86::VPERMPSZ256rmkz
, 0 },
3787 { X86::VPERMPSZrrkz
, X86::VPERMPSZrmkz
, 0 },
3788 { X86::VPERMQZ256rik
, X86::VPERMQZ256mik
, 0 },
3789 { X86::VPERMQZ256rrkz
, X86::VPERMQZ256rmkz
, 0 },
3790 { X86::VPERMQZrik
, X86::VPERMQZmik
, 0 },
3791 { X86::VPERMQZrrkz
, X86::VPERMQZrmkz
, 0 },
3792 { X86::VPERMT2B128rr
, X86::VPERMT2B128rm
, 0 },
3793 { X86::VPERMT2B256rr
, X86::VPERMT2B256rm
, 0 },
3794 { X86::VPERMT2Brr
, X86::VPERMT2Brm
, 0 },
3795 { X86::VPERMT2D128rr
, X86::VPERMT2D128rm
, 0 },
3796 { X86::VPERMT2D256rr
, X86::VPERMT2D256rm
, 0 },
3797 { X86::VPERMT2Drr
, X86::VPERMT2Drm
, 0 },
3798 { X86::VPERMT2PD128rr
, X86::VPERMT2PD128rm
, 0 },
3799 { X86::VPERMT2PD256rr
, X86::VPERMT2PD256rm
, 0 },
3800 { X86::VPERMT2PDrr
, X86::VPERMT2PDrm
, 0 },
3801 { X86::VPERMT2PS128rr
, X86::VPERMT2PS128rm
, 0 },
3802 { X86::VPERMT2PS256rr
, X86::VPERMT2PS256rm
, 0 },
3803 { X86::VPERMT2PSrr
, X86::VPERMT2PSrm
, 0 },
3804 { X86::VPERMT2Q128rr
, X86::VPERMT2Q128rm
, 0 },
3805 { X86::VPERMT2Q256rr
, X86::VPERMT2Q256rm
, 0 },
3806 { X86::VPERMT2Qrr
, X86::VPERMT2Qrm
, 0 },
3807 { X86::VPERMT2W128rr
, X86::VPERMT2W128rm
, 0 },
3808 { X86::VPERMT2W256rr
, X86::VPERMT2W256rm
, 0 },
3809 { X86::VPERMT2Wrr
, X86::VPERMT2Wrm
, 0 },
3810 { X86::VPERMWZ128rrkz
, X86::VPERMWZ128rmkz
, 0 },
3811 { X86::VPERMWZ256rrkz
, X86::VPERMWZ256rmkz
, 0 },
3812 { X86::VPERMWZrrkz
, X86::VPERMWZrmkz
, 0 },
3813 { X86::VPEXPANDBZ128rrk
, X86::VPEXPANDBZ128rmk
, TB_NO_REVERSE
},
3814 { X86::VPEXPANDBZ256rrk
, X86::VPEXPANDBZ256rmk
, TB_NO_REVERSE
},
3815 { X86::VPEXPANDBZrrk
, X86::VPEXPANDBZrmk
, TB_NO_REVERSE
},
3816 { X86::VPEXPANDDZ128rrk
, X86::VPEXPANDDZ128rmk
, TB_NO_REVERSE
},
3817 { X86::VPEXPANDDZ256rrk
, X86::VPEXPANDDZ256rmk
, TB_NO_REVERSE
},
3818 { X86::VPEXPANDDZrrk
, X86::VPEXPANDDZrmk
, TB_NO_REVERSE
},
3819 { X86::VPEXPANDQZ128rrk
, X86::VPEXPANDQZ128rmk
, TB_NO_REVERSE
},
3820 { X86::VPEXPANDQZ256rrk
, X86::VPEXPANDQZ256rmk
, TB_NO_REVERSE
},
3821 { X86::VPEXPANDQZrrk
, X86::VPEXPANDQZrmk
, TB_NO_REVERSE
},
3822 { X86::VPEXPANDWZ128rrk
, X86::VPEXPANDWZ128rmk
, TB_NO_REVERSE
},
3823 { X86::VPEXPANDWZ256rrk
, X86::VPEXPANDWZ256rmk
, TB_NO_REVERSE
},
3824 { X86::VPEXPANDWZrrk
, X86::VPEXPANDWZrmk
, TB_NO_REVERSE
},
3825 { X86::VPLZCNTDZ128rrk
, X86::VPLZCNTDZ128rmk
, 0 },
3826 { X86::VPLZCNTDZ256rrk
, X86::VPLZCNTDZ256rmk
, 0 },
3827 { X86::VPLZCNTDZrrk
, X86::VPLZCNTDZrmk
, 0 },
3828 { X86::VPLZCNTQZ128rrk
, X86::VPLZCNTQZ128rmk
, 0 },
3829 { X86::VPLZCNTQZ256rrk
, X86::VPLZCNTQZ256rmk
, 0 },
3830 { X86::VPLZCNTQZrrk
, X86::VPLZCNTQZrmk
, 0 },
3831 { X86::VPMADD52HUQZ128r
, X86::VPMADD52HUQZ128m
, 0 },
3832 { X86::VPMADD52HUQZ256r
, X86::VPMADD52HUQZ256m
, 0 },
3833 { X86::VPMADD52HUQZr
, X86::VPMADD52HUQZm
, 0 },
3834 { X86::VPMADD52LUQZ128r
, X86::VPMADD52LUQZ128m
, 0 },
3835 { X86::VPMADD52LUQZ256r
, X86::VPMADD52LUQZ256m
, 0 },
3836 { X86::VPMADD52LUQZr
, X86::VPMADD52LUQZm
, 0 },
3837 { X86::VPMADDUBSWZ128rrkz
, X86::VPMADDUBSWZ128rmkz
, 0 },
3838 { X86::VPMADDUBSWZ256rrkz
, X86::VPMADDUBSWZ256rmkz
, 0 },
3839 { X86::VPMADDUBSWZrrkz
, X86::VPMADDUBSWZrmkz
, 0 },
3840 { X86::VPMADDWDZ128rrkz
, X86::VPMADDWDZ128rmkz
, 0 },
3841 { X86::VPMADDWDZ256rrkz
, X86::VPMADDWDZ256rmkz
, 0 },
3842 { X86::VPMADDWDZrrkz
, X86::VPMADDWDZrmkz
, 0 },
3843 { X86::VPMAXSBZ128rrkz
, X86::VPMAXSBZ128rmkz
, 0 },
3844 { X86::VPMAXSBZ256rrkz
, X86::VPMAXSBZ256rmkz
, 0 },
3845 { X86::VPMAXSBZrrkz
, X86::VPMAXSBZrmkz
, 0 },
3846 { X86::VPMAXSDZ128rrkz
, X86::VPMAXSDZ128rmkz
, 0 },
3847 { X86::VPMAXSDZ256rrkz
, X86::VPMAXSDZ256rmkz
, 0 },
3848 { X86::VPMAXSDZrrkz
, X86::VPMAXSDZrmkz
, 0 },
3849 { X86::VPMAXSQZ128rrkz
, X86::VPMAXSQZ128rmkz
, 0 },
3850 { X86::VPMAXSQZ256rrkz
, X86::VPMAXSQZ256rmkz
, 0 },
3851 { X86::VPMAXSQZrrkz
, X86::VPMAXSQZrmkz
, 0 },
3852 { X86::VPMAXSWZ128rrkz
, X86::VPMAXSWZ128rmkz
, 0 },
3853 { X86::VPMAXSWZ256rrkz
, X86::VPMAXSWZ256rmkz
, 0 },
3854 { X86::VPMAXSWZrrkz
, X86::VPMAXSWZrmkz
, 0 },
3855 { X86::VPMAXUBZ128rrkz
, X86::VPMAXUBZ128rmkz
, 0 },
3856 { X86::VPMAXUBZ256rrkz
, X86::VPMAXUBZ256rmkz
, 0 },
3857 { X86::VPMAXUBZrrkz
, X86::VPMAXUBZrmkz
, 0 },
3858 { X86::VPMAXUDZ128rrkz
, X86::VPMAXUDZ128rmkz
, 0 },
3859 { X86::VPMAXUDZ256rrkz
, X86::VPMAXUDZ256rmkz
, 0 },
3860 { X86::VPMAXUDZrrkz
, X86::VPMAXUDZrmkz
, 0 },
3861 { X86::VPMAXUQZ128rrkz
, X86::VPMAXUQZ128rmkz
, 0 },
3862 { X86::VPMAXUQZ256rrkz
, X86::VPMAXUQZ256rmkz
, 0 },
3863 { X86::VPMAXUQZrrkz
, X86::VPMAXUQZrmkz
, 0 },
3864 { X86::VPMAXUWZ128rrkz
, X86::VPMAXUWZ128rmkz
, 0 },
3865 { X86::VPMAXUWZ256rrkz
, X86::VPMAXUWZ256rmkz
, 0 },
3866 { X86::VPMAXUWZrrkz
, X86::VPMAXUWZrmkz
, 0 },
3867 { X86::VPMINSBZ128rrkz
, X86::VPMINSBZ128rmkz
, 0 },
3868 { X86::VPMINSBZ256rrkz
, X86::VPMINSBZ256rmkz
, 0 },
3869 { X86::VPMINSBZrrkz
, X86::VPMINSBZrmkz
, 0 },
3870 { X86::VPMINSDZ128rrkz
, X86::VPMINSDZ128rmkz
, 0 },
3871 { X86::VPMINSDZ256rrkz
, X86::VPMINSDZ256rmkz
, 0 },
3872 { X86::VPMINSDZrrkz
, X86::VPMINSDZrmkz
, 0 },
3873 { X86::VPMINSQZ128rrkz
, X86::VPMINSQZ128rmkz
, 0 },
3874 { X86::VPMINSQZ256rrkz
, X86::VPMINSQZ256rmkz
, 0 },
3875 { X86::VPMINSQZrrkz
, X86::VPMINSQZrmkz
, 0 },
3876 { X86::VPMINSWZ128rrkz
, X86::VPMINSWZ128rmkz
, 0 },
3877 { X86::VPMINSWZ256rrkz
, X86::VPMINSWZ256rmkz
, 0 },
3878 { X86::VPMINSWZrrkz
, X86::VPMINSWZrmkz
, 0 },
3879 { X86::VPMINUBZ128rrkz
, X86::VPMINUBZ128rmkz
, 0 },
3880 { X86::VPMINUBZ256rrkz
, X86::VPMINUBZ256rmkz
, 0 },
3881 { X86::VPMINUBZrrkz
, X86::VPMINUBZrmkz
, 0 },
3882 { X86::VPMINUDZ128rrkz
, X86::VPMINUDZ128rmkz
, 0 },
3883 { X86::VPMINUDZ256rrkz
, X86::VPMINUDZ256rmkz
, 0 },
3884 { X86::VPMINUDZrrkz
, X86::VPMINUDZrmkz
, 0 },
3885 { X86::VPMINUQZ128rrkz
, X86::VPMINUQZ128rmkz
, 0 },
3886 { X86::VPMINUQZ256rrkz
, X86::VPMINUQZ256rmkz
, 0 },
3887 { X86::VPMINUQZrrkz
, X86::VPMINUQZrmkz
, 0 },
3888 { X86::VPMINUWZ128rrkz
, X86::VPMINUWZ128rmkz
, 0 },
3889 { X86::VPMINUWZ256rrkz
, X86::VPMINUWZ256rmkz
, 0 },
3890 { X86::VPMINUWZrrkz
, X86::VPMINUWZrmkz
, 0 },
3891 { X86::VPMOVSXBDZ128rrk
, X86::VPMOVSXBDZ128rmk
, TB_NO_REVERSE
},
3892 { X86::VPMOVSXBDZ256rrk
, X86::VPMOVSXBDZ256rmk
, TB_NO_REVERSE
},
3893 { X86::VPMOVSXBDZrrk
, X86::VPMOVSXBDZrmk
, 0 },
3894 { X86::VPMOVSXBQZ128rrk
, X86::VPMOVSXBQZ128rmk
, TB_NO_REVERSE
},
3895 { X86::VPMOVSXBQZ256rrk
, X86::VPMOVSXBQZ256rmk
, TB_NO_REVERSE
},
3896 { X86::VPMOVSXBQZrrk
, X86::VPMOVSXBQZrmk
, TB_NO_REVERSE
},
3897 { X86::VPMOVSXBWZ128rrk
, X86::VPMOVSXBWZ128rmk
, TB_NO_REVERSE
},
3898 { X86::VPMOVSXBWZ256rrk
, X86::VPMOVSXBWZ256rmk
, 0 },
3899 { X86::VPMOVSXBWZrrk
, X86::VPMOVSXBWZrmk
, 0 },
3900 { X86::VPMOVSXDQZ128rrk
, X86::VPMOVSXDQZ128rmk
, TB_NO_REVERSE
},
3901 { X86::VPMOVSXDQZ256rrk
, X86::VPMOVSXDQZ256rmk
, 0 },
3902 { X86::VPMOVSXDQZrrk
, X86::VPMOVSXDQZrmk
, 0 },
3903 { X86::VPMOVSXWDZ128rrk
, X86::VPMOVSXWDZ128rmk
, TB_NO_REVERSE
},
3904 { X86::VPMOVSXWDZ256rrk
, X86::VPMOVSXWDZ256rmk
, 0 },
3905 { X86::VPMOVSXWDZrrk
, X86::VPMOVSXWDZrmk
, 0 },
3906 { X86::VPMOVSXWQZ128rrk
, X86::VPMOVSXWQZ128rmk
, TB_NO_REVERSE
},
3907 { X86::VPMOVSXWQZ256rrk
, X86::VPMOVSXWQZ256rmk
, TB_NO_REVERSE
},
3908 { X86::VPMOVSXWQZrrk
, X86::VPMOVSXWQZrmk
, 0 },
3909 { X86::VPMOVZXBDZ128rrk
, X86::VPMOVZXBDZ128rmk
, TB_NO_REVERSE
},
3910 { X86::VPMOVZXBDZ256rrk
, X86::VPMOVZXBDZ256rmk
, TB_NO_REVERSE
},
3911 { X86::VPMOVZXBDZrrk
, X86::VPMOVZXBDZrmk
, 0 },
3912 { X86::VPMOVZXBQZ128rrk
, X86::VPMOVZXBQZ128rmk
, TB_NO_REVERSE
},
3913 { X86::VPMOVZXBQZ256rrk
, X86::VPMOVZXBQZ256rmk
, TB_NO_REVERSE
},
3914 { X86::VPMOVZXBQZrrk
, X86::VPMOVZXBQZrmk
, TB_NO_REVERSE
},
3915 { X86::VPMOVZXBWZ128rrk
, X86::VPMOVZXBWZ128rmk
, TB_NO_REVERSE
},
3916 { X86::VPMOVZXBWZ256rrk
, X86::VPMOVZXBWZ256rmk
, 0 },
3917 { X86::VPMOVZXBWZrrk
, X86::VPMOVZXBWZrmk
, 0 },
3918 { X86::VPMOVZXDQZ128rrk
, X86::VPMOVZXDQZ128rmk
, TB_NO_REVERSE
},
3919 { X86::VPMOVZXDQZ256rrk
, X86::VPMOVZXDQZ256rmk
, 0 },
3920 { X86::VPMOVZXDQZrrk
, X86::VPMOVZXDQZrmk
, 0 },
3921 { X86::VPMOVZXWDZ128rrk
, X86::VPMOVZXWDZ128rmk
, TB_NO_REVERSE
},
3922 { X86::VPMOVZXWDZ256rrk
, X86::VPMOVZXWDZ256rmk
, 0 },
3923 { X86::VPMOVZXWDZrrk
, X86::VPMOVZXWDZrmk
, 0 },
3924 { X86::VPMOVZXWQZ128rrk
, X86::VPMOVZXWQZ128rmk
, TB_NO_REVERSE
},
3925 { X86::VPMOVZXWQZ256rrk
, X86::VPMOVZXWQZ256rmk
, TB_NO_REVERSE
},
3926 { X86::VPMOVZXWQZrrk
, X86::VPMOVZXWQZrmk
, 0 },
3927 { X86::VPMULDQZ128rrkz
, X86::VPMULDQZ128rmkz
, 0 },
3928 { X86::VPMULDQZ256rrkz
, X86::VPMULDQZ256rmkz
, 0 },
3929 { X86::VPMULDQZrrkz
, X86::VPMULDQZrmkz
, 0 },
3930 { X86::VPMULHRSWZ128rrkz
, X86::VPMULHRSWZ128rmkz
, 0 },
3931 { X86::VPMULHRSWZ256rrkz
, X86::VPMULHRSWZ256rmkz
, 0 },
3932 { X86::VPMULHRSWZrrkz
, X86::VPMULHRSWZrmkz
, 0 },
3933 { X86::VPMULHUWZ128rrkz
, X86::VPMULHUWZ128rmkz
, 0 },
3934 { X86::VPMULHUWZ256rrkz
, X86::VPMULHUWZ256rmkz
, 0 },
3935 { X86::VPMULHUWZrrkz
, X86::VPMULHUWZrmkz
, 0 },
3936 { X86::VPMULHWZ128rrkz
, X86::VPMULHWZ128rmkz
, 0 },
3937 { X86::VPMULHWZ256rrkz
, X86::VPMULHWZ256rmkz
, 0 },
3938 { X86::VPMULHWZrrkz
, X86::VPMULHWZrmkz
, 0 },
3939 { X86::VPMULLDZ128rrkz
, X86::VPMULLDZ128rmkz
, 0 },
3940 { X86::VPMULLDZ256rrkz
, X86::VPMULLDZ256rmkz
, 0 },
3941 { X86::VPMULLDZrrkz
, X86::VPMULLDZrmkz
, 0 },
3942 { X86::VPMULLQZ128rrkz
, X86::VPMULLQZ128rmkz
, 0 },
3943 { X86::VPMULLQZ256rrkz
, X86::VPMULLQZ256rmkz
, 0 },
3944 { X86::VPMULLQZrrkz
, X86::VPMULLQZrmkz
, 0 },
3945 { X86::VPMULLWZ128rrkz
, X86::VPMULLWZ128rmkz
, 0 },
3946 { X86::VPMULLWZ256rrkz
, X86::VPMULLWZ256rmkz
, 0 },
3947 { X86::VPMULLWZrrkz
, X86::VPMULLWZrmkz
, 0 },
3948 { X86::VPMULTISHIFTQBZ128rrkz
, X86::VPMULTISHIFTQBZ128rmkz
, 0 },
3949 { X86::VPMULTISHIFTQBZ256rrkz
, X86::VPMULTISHIFTQBZ256rmkz
, 0 },
3950 { X86::VPMULTISHIFTQBZrrkz
, X86::VPMULTISHIFTQBZrmkz
, 0 },
3951 { X86::VPMULUDQZ128rrkz
, X86::VPMULUDQZ128rmkz
, 0 },
3952 { X86::VPMULUDQZ256rrkz
, X86::VPMULUDQZ256rmkz
, 0 },
3953 { X86::VPMULUDQZrrkz
, X86::VPMULUDQZrmkz
, 0 },
3954 { X86::VPOPCNTBZ128rrk
, X86::VPOPCNTBZ128rmk
, 0 },
3955 { X86::VPOPCNTBZ256rrk
, X86::VPOPCNTBZ256rmk
, 0 },
3956 { X86::VPOPCNTBZrrk
, X86::VPOPCNTBZrmk
, 0 },
3957 { X86::VPOPCNTDZ128rrk
, X86::VPOPCNTDZ128rmk
, 0 },
3958 { X86::VPOPCNTDZ256rrk
, X86::VPOPCNTDZ256rmk
, 0 },
3959 { X86::VPOPCNTDZrrk
, X86::VPOPCNTDZrmk
, 0 },
3960 { X86::VPOPCNTQZ128rrk
, X86::VPOPCNTQZ128rmk
, 0 },
3961 { X86::VPOPCNTQZ256rrk
, X86::VPOPCNTQZ256rmk
, 0 },
3962 { X86::VPOPCNTQZrrk
, X86::VPOPCNTQZrmk
, 0 },
3963 { X86::VPOPCNTWZ128rrk
, X86::VPOPCNTWZ128rmk
, 0 },
3964 { X86::VPOPCNTWZ256rrk
, X86::VPOPCNTWZ256rmk
, 0 },
3965 { X86::VPOPCNTWZrrk
, X86::VPOPCNTWZrmk
, 0 },
3966 { X86::VPORDZ128rrkz
, X86::VPORDZ128rmkz
, 0 },
3967 { X86::VPORDZ256rrkz
, X86::VPORDZ256rmkz
, 0 },
3968 { X86::VPORDZrrkz
, X86::VPORDZrmkz
, 0 },
3969 { X86::VPORQZ128rrkz
, X86::VPORQZ128rmkz
, 0 },
3970 { X86::VPORQZ256rrkz
, X86::VPORQZ256rmkz
, 0 },
3971 { X86::VPORQZrrkz
, X86::VPORQZrmkz
, 0 },
3972 { X86::VPPERMrrr
, X86::VPPERMrrm
, 0 },
3973 { X86::VPROLDZ128rik
, X86::VPROLDZ128mik
, 0 },
3974 { X86::VPROLDZ256rik
, X86::VPROLDZ256mik
, 0 },
3975 { X86::VPROLDZrik
, X86::VPROLDZmik
, 0 },
3976 { X86::VPROLQZ128rik
, X86::VPROLQZ128mik
, 0 },
3977 { X86::VPROLQZ256rik
, X86::VPROLQZ256mik
, 0 },
3978 { X86::VPROLQZrik
, X86::VPROLQZmik
, 0 },
3979 { X86::VPROLVDZ128rrkz
, X86::VPROLVDZ128rmkz
, 0 },
3980 { X86::VPROLVDZ256rrkz
, X86::VPROLVDZ256rmkz
, 0 },
3981 { X86::VPROLVDZrrkz
, X86::VPROLVDZrmkz
, 0 },
3982 { X86::VPROLVQZ128rrkz
, X86::VPROLVQZ128rmkz
, 0 },
3983 { X86::VPROLVQZ256rrkz
, X86::VPROLVQZ256rmkz
, 0 },
3984 { X86::VPROLVQZrrkz
, X86::VPROLVQZrmkz
, 0 },
3985 { X86::VPRORDZ128rik
, X86::VPRORDZ128mik
, 0 },
3986 { X86::VPRORDZ256rik
, X86::VPRORDZ256mik
, 0 },
3987 { X86::VPRORDZrik
, X86::VPRORDZmik
, 0 },
3988 { X86::VPRORQZ128rik
, X86::VPRORQZ128mik
, 0 },
3989 { X86::VPRORQZ256rik
, X86::VPRORQZ256mik
, 0 },
3990 { X86::VPRORQZrik
, X86::VPRORQZmik
, 0 },
3991 { X86::VPRORVDZ128rrkz
, X86::VPRORVDZ128rmkz
, 0 },
3992 { X86::VPRORVDZ256rrkz
, X86::VPRORVDZ256rmkz
, 0 },
3993 { X86::VPRORVDZrrkz
, X86::VPRORVDZrmkz
, 0 },
3994 { X86::VPRORVQZ128rrkz
, X86::VPRORVQZ128rmkz
, 0 },
3995 { X86::VPRORVQZ256rrkz
, X86::VPRORVQZ256rmkz
, 0 },
3996 { X86::VPRORVQZrrkz
, X86::VPRORVQZrmkz
, 0 },
3997 { X86::VPSHLDDZ128rrikz
, X86::VPSHLDDZ128rmikz
, 0 },
3998 { X86::VPSHLDDZ256rrikz
, X86::VPSHLDDZ256rmikz
, 0 },
3999 { X86::VPSHLDDZrrikz
, X86::VPSHLDDZrmikz
, 0 },
4000 { X86::VPSHLDQZ128rrikz
, X86::VPSHLDQZ128rmikz
, 0 },
4001 { X86::VPSHLDQZ256rrikz
, X86::VPSHLDQZ256rmikz
, 0 },
4002 { X86::VPSHLDQZrrikz
, X86::VPSHLDQZrmikz
, 0 },
4003 { X86::VPSHLDVDZ128r
, X86::VPSHLDVDZ128m
, 0 },
4004 { X86::VPSHLDVDZ256r
, X86::VPSHLDVDZ256m
, 0 },
4005 { X86::VPSHLDVDZr
, X86::VPSHLDVDZm
, 0 },
4006 { X86::VPSHLDVQZ128r
, X86::VPSHLDVQZ128m
, 0 },
4007 { X86::VPSHLDVQZ256r
, X86::VPSHLDVQZ256m
, 0 },
4008 { X86::VPSHLDVQZr
, X86::VPSHLDVQZm
, 0 },
4009 { X86::VPSHLDVWZ128r
, X86::VPSHLDVWZ128m
, 0 },
4010 { X86::VPSHLDVWZ256r
, X86::VPSHLDVWZ256m
, 0 },
4011 { X86::VPSHLDVWZr
, X86::VPSHLDVWZm
, 0 },
4012 { X86::VPSHLDWZ128rrikz
, X86::VPSHLDWZ128rmikz
, 0 },
4013 { X86::VPSHLDWZ256rrikz
, X86::VPSHLDWZ256rmikz
, 0 },
4014 { X86::VPSHLDWZrrikz
, X86::VPSHLDWZrmikz
, 0 },
4015 { X86::VPSHRDDZ128rrikz
, X86::VPSHRDDZ128rmikz
, 0 },
4016 { X86::VPSHRDDZ256rrikz
, X86::VPSHRDDZ256rmikz
, 0 },
4017 { X86::VPSHRDDZrrikz
, X86::VPSHRDDZrmikz
, 0 },
4018 { X86::VPSHRDQZ128rrikz
, X86::VPSHRDQZ128rmikz
, 0 },
4019 { X86::VPSHRDQZ256rrikz
, X86::VPSHRDQZ256rmikz
, 0 },
4020 { X86::VPSHRDQZrrikz
, X86::VPSHRDQZrmikz
, 0 },
4021 { X86::VPSHRDVDZ128r
, X86::VPSHRDVDZ128m
, 0 },
4022 { X86::VPSHRDVDZ256r
, X86::VPSHRDVDZ256m
, 0 },
4023 { X86::VPSHRDVDZr
, X86::VPSHRDVDZm
, 0 },
4024 { X86::VPSHRDVQZ128r
, X86::VPSHRDVQZ128m
, 0 },
4025 { X86::VPSHRDVQZ256r
, X86::VPSHRDVQZ256m
, 0 },
4026 { X86::VPSHRDVQZr
, X86::VPSHRDVQZm
, 0 },
4027 { X86::VPSHRDVWZ128r
, X86::VPSHRDVWZ128m
, 0 },
4028 { X86::VPSHRDVWZ256r
, X86::VPSHRDVWZ256m
, 0 },
4029 { X86::VPSHRDVWZr
, X86::VPSHRDVWZm
, 0 },
4030 { X86::VPSHRDWZ128rrikz
, X86::VPSHRDWZ128rmikz
, 0 },
4031 { X86::VPSHRDWZ256rrikz
, X86::VPSHRDWZ256rmikz
, 0 },
4032 { X86::VPSHRDWZrrikz
, X86::VPSHRDWZrmikz
, 0 },
4033 { X86::VPSHUFBITQMBZ128rrk
, X86::VPSHUFBITQMBZ128rmk
, 0 },
4034 { X86::VPSHUFBITQMBZ256rrk
, X86::VPSHUFBITQMBZ256rmk
, 0 },
4035 { X86::VPSHUFBITQMBZrrk
, X86::VPSHUFBITQMBZrmk
, 0 },
4036 { X86::VPSHUFBZ128rrkz
, X86::VPSHUFBZ128rmkz
, 0 },
4037 { X86::VPSHUFBZ256rrkz
, X86::VPSHUFBZ256rmkz
, 0 },
4038 { X86::VPSHUFBZrrkz
, X86::VPSHUFBZrmkz
, 0 },
4039 { X86::VPSHUFDZ128rik
, X86::VPSHUFDZ128mik
, 0 },
4040 { X86::VPSHUFDZ256rik
, X86::VPSHUFDZ256mik
, 0 },
4041 { X86::VPSHUFDZrik
, X86::VPSHUFDZmik
, 0 },
4042 { X86::VPSHUFHWZ128rik
, X86::VPSHUFHWZ128mik
, 0 },
4043 { X86::VPSHUFHWZ256rik
, X86::VPSHUFHWZ256mik
, 0 },
4044 { X86::VPSHUFHWZrik
, X86::VPSHUFHWZmik
, 0 },
4045 { X86::VPSHUFLWZ128rik
, X86::VPSHUFLWZ128mik
, 0 },
4046 { X86::VPSHUFLWZ256rik
, X86::VPSHUFLWZ256mik
, 0 },
4047 { X86::VPSHUFLWZrik
, X86::VPSHUFLWZmik
, 0 },
4048 { X86::VPSLLDZ128rik
, X86::VPSLLDZ128mik
, 0 },
4049 { X86::VPSLLDZ128rrkz
, X86::VPSLLDZ128rmkz
, 0 },
4050 { X86::VPSLLDZ256rik
, X86::VPSLLDZ256mik
, 0 },
4051 { X86::VPSLLDZ256rrkz
, X86::VPSLLDZ256rmkz
, 0 },
4052 { X86::VPSLLDZrik
, X86::VPSLLDZmik
, 0 },
4053 { X86::VPSLLDZrrkz
, X86::VPSLLDZrmkz
, 0 },
4054 { X86::VPSLLQZ128rik
, X86::VPSLLQZ128mik
, 0 },
4055 { X86::VPSLLQZ128rrkz
, X86::VPSLLQZ128rmkz
, 0 },
4056 { X86::VPSLLQZ256rik
, X86::VPSLLQZ256mik
, 0 },
4057 { X86::VPSLLQZ256rrkz
, X86::VPSLLQZ256rmkz
, 0 },
4058 { X86::VPSLLQZrik
, X86::VPSLLQZmik
, 0 },
4059 { X86::VPSLLQZrrkz
, X86::VPSLLQZrmkz
, 0 },
4060 { X86::VPSLLVDZ128rrkz
, X86::VPSLLVDZ128rmkz
, 0 },
4061 { X86::VPSLLVDZ256rrkz
, X86::VPSLLVDZ256rmkz
, 0 },
4062 { X86::VPSLLVDZrrkz
, X86::VPSLLVDZrmkz
, 0 },
4063 { X86::VPSLLVQZ128rrkz
, X86::VPSLLVQZ128rmkz
, 0 },
4064 { X86::VPSLLVQZ256rrkz
, X86::VPSLLVQZ256rmkz
, 0 },
4065 { X86::VPSLLVQZrrkz
, X86::VPSLLVQZrmkz
, 0 },
4066 { X86::VPSLLVWZ128rrkz
, X86::VPSLLVWZ128rmkz
, 0 },
4067 { X86::VPSLLVWZ256rrkz
, X86::VPSLLVWZ256rmkz
, 0 },
4068 { X86::VPSLLVWZrrkz
, X86::VPSLLVWZrmkz
, 0 },
4069 { X86::VPSLLWZ128rik
, X86::VPSLLWZ128mik
, 0 },
4070 { X86::VPSLLWZ128rrkz
, X86::VPSLLWZ128rmkz
, 0 },
4071 { X86::VPSLLWZ256rik
, X86::VPSLLWZ256mik
, 0 },
4072 { X86::VPSLLWZ256rrkz
, X86::VPSLLWZ256rmkz
, 0 },
4073 { X86::VPSLLWZrik
, X86::VPSLLWZmik
, 0 },
4074 { X86::VPSLLWZrrkz
, X86::VPSLLWZrmkz
, 0 },
4075 { X86::VPSRADZ128rik
, X86::VPSRADZ128mik
, 0 },
4076 { X86::VPSRADZ128rrkz
, X86::VPSRADZ128rmkz
, 0 },
4077 { X86::VPSRADZ256rik
, X86::VPSRADZ256mik
, 0 },
4078 { X86::VPSRADZ256rrkz
, X86::VPSRADZ256rmkz
, 0 },
4079 { X86::VPSRADZrik
, X86::VPSRADZmik
, 0 },
4080 { X86::VPSRADZrrkz
, X86::VPSRADZrmkz
, 0 },
4081 { X86::VPSRAQZ128rik
, X86::VPSRAQZ128mik
, 0 },
4082 { X86::VPSRAQZ128rrkz
, X86::VPSRAQZ128rmkz
, 0 },
4083 { X86::VPSRAQZ256rik
, X86::VPSRAQZ256mik
, 0 },
4084 { X86::VPSRAQZ256rrkz
, X86::VPSRAQZ256rmkz
, 0 },
4085 { X86::VPSRAQZrik
, X86::VPSRAQZmik
, 0 },
4086 { X86::VPSRAQZrrkz
, X86::VPSRAQZrmkz
, 0 },
4087 { X86::VPSRAVDZ128rrkz
, X86::VPSRAVDZ128rmkz
, 0 },
4088 { X86::VPSRAVDZ256rrkz
, X86::VPSRAVDZ256rmkz
, 0 },
4089 { X86::VPSRAVDZrrkz
, X86::VPSRAVDZrmkz
, 0 },
4090 { X86::VPSRAVQZ128rrkz
, X86::VPSRAVQZ128rmkz
, 0 },
4091 { X86::VPSRAVQZ256rrkz
, X86::VPSRAVQZ256rmkz
, 0 },
4092 { X86::VPSRAVQZrrkz
, X86::VPSRAVQZrmkz
, 0 },
4093 { X86::VPSRAVWZ128rrkz
, X86::VPSRAVWZ128rmkz
, 0 },
4094 { X86::VPSRAVWZ256rrkz
, X86::VPSRAVWZ256rmkz
, 0 },
4095 { X86::VPSRAVWZrrkz
, X86::VPSRAVWZrmkz
, 0 },
4096 { X86::VPSRAWZ128rik
, X86::VPSRAWZ128mik
, 0 },
4097 { X86::VPSRAWZ128rrkz
, X86::VPSRAWZ128rmkz
, 0 },
4098 { X86::VPSRAWZ256rik
, X86::VPSRAWZ256mik
, 0 },
4099 { X86::VPSRAWZ256rrkz
, X86::VPSRAWZ256rmkz
, 0 },
4100 { X86::VPSRAWZrik
, X86::VPSRAWZmik
, 0 },
4101 { X86::VPSRAWZrrkz
, X86::VPSRAWZrmkz
, 0 },
4102 { X86::VPSRLDZ128rik
, X86::VPSRLDZ128mik
, 0 },
4103 { X86::VPSRLDZ128rrkz
, X86::VPSRLDZ128rmkz
, 0 },
4104 { X86::VPSRLDZ256rik
, X86::VPSRLDZ256mik
, 0 },
4105 { X86::VPSRLDZ256rrkz
, X86::VPSRLDZ256rmkz
, 0 },
4106 { X86::VPSRLDZrik
, X86::VPSRLDZmik
, 0 },
4107 { X86::VPSRLDZrrkz
, X86::VPSRLDZrmkz
, 0 },
4108 { X86::VPSRLQZ128rik
, X86::VPSRLQZ128mik
, 0 },
4109 { X86::VPSRLQZ128rrkz
, X86::VPSRLQZ128rmkz
, 0 },
4110 { X86::VPSRLQZ256rik
, X86::VPSRLQZ256mik
, 0 },
4111 { X86::VPSRLQZ256rrkz
, X86::VPSRLQZ256rmkz
, 0 },
4112 { X86::VPSRLQZrik
, X86::VPSRLQZmik
, 0 },
4113 { X86::VPSRLQZrrkz
, X86::VPSRLQZrmkz
, 0 },
4114 { X86::VPSRLVDZ128rrkz
, X86::VPSRLVDZ128rmkz
, 0 },
4115 { X86::VPSRLVDZ256rrkz
, X86::VPSRLVDZ256rmkz
, 0 },
4116 { X86::VPSRLVDZrrkz
, X86::VPSRLVDZrmkz
, 0 },
4117 { X86::VPSRLVQZ128rrkz
, X86::VPSRLVQZ128rmkz
, 0 },
4118 { X86::VPSRLVQZ256rrkz
, X86::VPSRLVQZ256rmkz
, 0 },
4119 { X86::VPSRLVQZrrkz
, X86::VPSRLVQZrmkz
, 0 },
4120 { X86::VPSRLVWZ128rrkz
, X86::VPSRLVWZ128rmkz
, 0 },
4121 { X86::VPSRLVWZ256rrkz
, X86::VPSRLVWZ256rmkz
, 0 },
4122 { X86::VPSRLVWZrrkz
, X86::VPSRLVWZrmkz
, 0 },
4123 { X86::VPSRLWZ128rik
, X86::VPSRLWZ128mik
, 0 },
4124 { X86::VPSRLWZ128rrkz
, X86::VPSRLWZ128rmkz
, 0 },
4125 { X86::VPSRLWZ256rik
, X86::VPSRLWZ256mik
, 0 },
4126 { X86::VPSRLWZ256rrkz
, X86::VPSRLWZ256rmkz
, 0 },
4127 { X86::VPSRLWZrik
, X86::VPSRLWZmik
, 0 },
4128 { X86::VPSRLWZrrkz
, X86::VPSRLWZrmkz
, 0 },
4129 { X86::VPSUBBZ128rrkz
, X86::VPSUBBZ128rmkz
, 0 },
4130 { X86::VPSUBBZ256rrkz
, X86::VPSUBBZ256rmkz
, 0 },
4131 { X86::VPSUBBZrrkz
, X86::VPSUBBZrmkz
, 0 },
4132 { X86::VPSUBDZ128rrkz
, X86::VPSUBDZ128rmkz
, 0 },
4133 { X86::VPSUBDZ256rrkz
, X86::VPSUBDZ256rmkz
, 0 },
4134 { X86::VPSUBDZrrkz
, X86::VPSUBDZrmkz
, 0 },
4135 { X86::VPSUBQZ128rrkz
, X86::VPSUBQZ128rmkz
, 0 },
4136 { X86::VPSUBQZ256rrkz
, X86::VPSUBQZ256rmkz
, 0 },
4137 { X86::VPSUBQZrrkz
, X86::VPSUBQZrmkz
, 0 },
4138 { X86::VPSUBSBZ128rrkz
, X86::VPSUBSBZ128rmkz
, 0 },
4139 { X86::VPSUBSBZ256rrkz
, X86::VPSUBSBZ256rmkz
, 0 },
4140 { X86::VPSUBSBZrrkz
, X86::VPSUBSBZrmkz
, 0 },
4141 { X86::VPSUBSWZ128rrkz
, X86::VPSUBSWZ128rmkz
, 0 },
4142 { X86::VPSUBSWZ256rrkz
, X86::VPSUBSWZ256rmkz
, 0 },
4143 { X86::VPSUBSWZrrkz
, X86::VPSUBSWZrmkz
, 0 },
4144 { X86::VPSUBUSBZ128rrkz
, X86::VPSUBUSBZ128rmkz
, 0 },
4145 { X86::VPSUBUSBZ256rrkz
, X86::VPSUBUSBZ256rmkz
, 0 },
4146 { X86::VPSUBUSBZrrkz
, X86::VPSUBUSBZrmkz
, 0 },
4147 { X86::VPSUBUSWZ128rrkz
, X86::VPSUBUSWZ128rmkz
, 0 },
4148 { X86::VPSUBUSWZ256rrkz
, X86::VPSUBUSWZ256rmkz
, 0 },
4149 { X86::VPSUBUSWZrrkz
, X86::VPSUBUSWZrmkz
, 0 },
4150 { X86::VPSUBWZ128rrkz
, X86::VPSUBWZ128rmkz
, 0 },
4151 { X86::VPSUBWZ256rrkz
, X86::VPSUBWZ256rmkz
, 0 },
4152 { X86::VPSUBWZrrkz
, X86::VPSUBWZrmkz
, 0 },
4153 { X86::VPTERNLOGDZ128rri
, X86::VPTERNLOGDZ128rmi
, 0 },
4154 { X86::VPTERNLOGDZ256rri
, X86::VPTERNLOGDZ256rmi
, 0 },
4155 { X86::VPTERNLOGDZrri
, X86::VPTERNLOGDZrmi
, 0 },
4156 { X86::VPTERNLOGQZ128rri
, X86::VPTERNLOGQZ128rmi
, 0 },
4157 { X86::VPTERNLOGQZ256rri
, X86::VPTERNLOGQZ256rmi
, 0 },
4158 { X86::VPTERNLOGQZrri
, X86::VPTERNLOGQZrmi
, 0 },
4159 { X86::VPTESTMBZ128rrk
, X86::VPTESTMBZ128rmk
, 0 },
4160 { X86::VPTESTMBZ256rrk
, X86::VPTESTMBZ256rmk
, 0 },
4161 { X86::VPTESTMBZrrk
, X86::VPTESTMBZrmk
, 0 },
4162 { X86::VPTESTMDZ128rrk
, X86::VPTESTMDZ128rmk
, 0 },
4163 { X86::VPTESTMDZ256rrk
, X86::VPTESTMDZ256rmk
, 0 },
4164 { X86::VPTESTMDZrrk
, X86::VPTESTMDZrmk
, 0 },
4165 { X86::VPTESTMQZ128rrk
, X86::VPTESTMQZ128rmk
, 0 },
4166 { X86::VPTESTMQZ256rrk
, X86::VPTESTMQZ256rmk
, 0 },
4167 { X86::VPTESTMQZrrk
, X86::VPTESTMQZrmk
, 0 },
4168 { X86::VPTESTMWZ128rrk
, X86::VPTESTMWZ128rmk
, 0 },
4169 { X86::VPTESTMWZ256rrk
, X86::VPTESTMWZ256rmk
, 0 },
4170 { X86::VPTESTMWZrrk
, X86::VPTESTMWZrmk
, 0 },
4171 { X86::VPTESTNMBZ128rrk
, X86::VPTESTNMBZ128rmk
, 0 },
4172 { X86::VPTESTNMBZ256rrk
, X86::VPTESTNMBZ256rmk
, 0 },
4173 { X86::VPTESTNMBZrrk
, X86::VPTESTNMBZrmk
, 0 },
4174 { X86::VPTESTNMDZ128rrk
, X86::VPTESTNMDZ128rmk
, 0 },
4175 { X86::VPTESTNMDZ256rrk
, X86::VPTESTNMDZ256rmk
, 0 },
4176 { X86::VPTESTNMDZrrk
, X86::VPTESTNMDZrmk
, 0 },
4177 { X86::VPTESTNMQZ128rrk
, X86::VPTESTNMQZ128rmk
, 0 },
4178 { X86::VPTESTNMQZ256rrk
, X86::VPTESTNMQZ256rmk
, 0 },
4179 { X86::VPTESTNMQZrrk
, X86::VPTESTNMQZrmk
, 0 },
4180 { X86::VPTESTNMWZ128rrk
, X86::VPTESTNMWZ128rmk
, 0 },
4181 { X86::VPTESTNMWZ256rrk
, X86::VPTESTNMWZ256rmk
, 0 },
4182 { X86::VPTESTNMWZrrk
, X86::VPTESTNMWZrmk
, 0 },
4183 { X86::VPUNPCKHBWZ128rrkz
, X86::VPUNPCKHBWZ128rmkz
, 0 },
4184 { X86::VPUNPCKHBWZ256rrkz
, X86::VPUNPCKHBWZ256rmkz
, 0 },
4185 { X86::VPUNPCKHBWZrrkz
, X86::VPUNPCKHBWZrmkz
, 0 },
4186 { X86::VPUNPCKHDQZ128rrkz
, X86::VPUNPCKHDQZ128rmkz
, 0 },
4187 { X86::VPUNPCKHDQZ256rrkz
, X86::VPUNPCKHDQZ256rmkz
, 0 },
4188 { X86::VPUNPCKHDQZrrkz
, X86::VPUNPCKHDQZrmkz
, 0 },
4189 { X86::VPUNPCKHQDQZ128rrkz
, X86::VPUNPCKHQDQZ128rmkz
, 0 },
4190 { X86::VPUNPCKHQDQZ256rrkz
, X86::VPUNPCKHQDQZ256rmkz
, 0 },
4191 { X86::VPUNPCKHQDQZrrkz
, X86::VPUNPCKHQDQZrmkz
, 0 },
4192 { X86::VPUNPCKHWDZ128rrkz
, X86::VPUNPCKHWDZ128rmkz
, 0 },
4193 { X86::VPUNPCKHWDZ256rrkz
, X86::VPUNPCKHWDZ256rmkz
, 0 },
4194 { X86::VPUNPCKHWDZrrkz
, X86::VPUNPCKHWDZrmkz
, 0 },
4195 { X86::VPUNPCKLBWZ128rrkz
, X86::VPUNPCKLBWZ128rmkz
, 0 },
4196 { X86::VPUNPCKLBWZ256rrkz
, X86::VPUNPCKLBWZ256rmkz
, 0 },
4197 { X86::VPUNPCKLBWZrrkz
, X86::VPUNPCKLBWZrmkz
, 0 },
4198 { X86::VPUNPCKLDQZ128rrkz
, X86::VPUNPCKLDQZ128rmkz
, 0 },
4199 { X86::VPUNPCKLDQZ256rrkz
, X86::VPUNPCKLDQZ256rmkz
, 0 },
4200 { X86::VPUNPCKLDQZrrkz
, X86::VPUNPCKLDQZrmkz
, 0 },
4201 { X86::VPUNPCKLQDQZ128rrkz
, X86::VPUNPCKLQDQZ128rmkz
, 0 },
4202 { X86::VPUNPCKLQDQZ256rrkz
, X86::VPUNPCKLQDQZ256rmkz
, 0 },
4203 { X86::VPUNPCKLQDQZrrkz
, X86::VPUNPCKLQDQZrmkz
, 0 },
4204 { X86::VPUNPCKLWDZ128rrkz
, X86::VPUNPCKLWDZ128rmkz
, 0 },
4205 { X86::VPUNPCKLWDZ256rrkz
, X86::VPUNPCKLWDZ256rmkz
, 0 },
4206 { X86::VPUNPCKLWDZrrkz
, X86::VPUNPCKLWDZrmkz
, 0 },
4207 { X86::VPXORDZ128rrkz
, X86::VPXORDZ128rmkz
, 0 },
4208 { X86::VPXORDZ256rrkz
, X86::VPXORDZ256rmkz
, 0 },
4209 { X86::VPXORDZrrkz
, X86::VPXORDZrmkz
, 0 },
4210 { X86::VPXORQZ128rrkz
, X86::VPXORQZ128rmkz
, 0 },
4211 { X86::VPXORQZ256rrkz
, X86::VPXORQZ256rmkz
, 0 },
4212 { X86::VPXORQZrrkz
, X86::VPXORQZrmkz
, 0 },
4213 { X86::VRANGEPDZ128rrikz
, X86::VRANGEPDZ128rmikz
, 0 },
4214 { X86::VRANGEPDZ256rrikz
, X86::VRANGEPDZ256rmikz
, 0 },
4215 { X86::VRANGEPDZrrikz
, X86::VRANGEPDZrmikz
, 0 },
4216 { X86::VRANGEPSZ128rrikz
, X86::VRANGEPSZ128rmikz
, 0 },
4217 { X86::VRANGEPSZ256rrikz
, X86::VRANGEPSZ256rmikz
, 0 },
4218 { X86::VRANGEPSZrrikz
, X86::VRANGEPSZrmikz
, 0 },
4219 { X86::VRANGESDZrrikz
, X86::VRANGESDZrmikz
, TB_NO_REVERSE
},
4220 { X86::VRANGESSZrrikz
, X86::VRANGESSZrmikz
, TB_NO_REVERSE
},
4221 { X86::VRCP14PDZ128rk
, X86::VRCP14PDZ128mk
, 0 },
4222 { X86::VRCP14PDZ256rk
, X86::VRCP14PDZ256mk
, 0 },
4223 { X86::VRCP14PDZrk
, X86::VRCP14PDZmk
, 0 },
4224 { X86::VRCP14PSZ128rk
, X86::VRCP14PSZ128mk
, 0 },
4225 { X86::VRCP14PSZ256rk
, X86::VRCP14PSZ256mk
, 0 },
4226 { X86::VRCP14PSZrk
, X86::VRCP14PSZmk
, 0 },
4227 { X86::VRCP14SDZrrkz
, X86::VRCP14SDZrmkz
, TB_NO_REVERSE
},
4228 { X86::VRCP14SSZrrkz
, X86::VRCP14SSZrmkz
, TB_NO_REVERSE
},
4229 { X86::VRCP28PDZrk
, X86::VRCP28PDZmk
, 0 },
4230 { X86::VRCP28PSZrk
, X86::VRCP28PSZmk
, 0 },
4231 { X86::VRCP28SDZrkz
, X86::VRCP28SDZmkz
, TB_NO_REVERSE
},
4232 { X86::VRCP28SSZrkz
, X86::VRCP28SSZmkz
, TB_NO_REVERSE
},
4233 { X86::VREDUCEPDZ128rrik
, X86::VREDUCEPDZ128rmik
, 0 },
4234 { X86::VREDUCEPDZ256rrik
, X86::VREDUCEPDZ256rmik
, 0 },
4235 { X86::VREDUCEPDZrrik
, X86::VREDUCEPDZrmik
, 0 },
4236 { X86::VREDUCEPSZ128rrik
, X86::VREDUCEPSZ128rmik
, 0 },
4237 { X86::VREDUCEPSZ256rrik
, X86::VREDUCEPSZ256rmik
, 0 },
4238 { X86::VREDUCEPSZrrik
, X86::VREDUCEPSZrmik
, 0 },
4239 { X86::VREDUCESDZrrikz
, X86::VREDUCESDZrmikz
, TB_NO_REVERSE
},
4240 { X86::VREDUCESSZrrikz
, X86::VREDUCESSZrmikz
, TB_NO_REVERSE
},
4241 { X86::VRNDSCALEPDZ128rrik
, X86::VRNDSCALEPDZ128rmik
, 0 },
4242 { X86::VRNDSCALEPDZ256rrik
, X86::VRNDSCALEPDZ256rmik
, 0 },
4243 { X86::VRNDSCALEPDZrrik
, X86::VRNDSCALEPDZrmik
, 0 },
4244 { X86::VRNDSCALEPSZ128rrik
, X86::VRNDSCALEPSZ128rmik
, 0 },
4245 { X86::VRNDSCALEPSZ256rrik
, X86::VRNDSCALEPSZ256rmik
, 0 },
4246 { X86::VRNDSCALEPSZrrik
, X86::VRNDSCALEPSZrmik
, 0 },
4247 { X86::VRNDSCALESDZr_Intkz
, X86::VRNDSCALESDZm_Intkz
, TB_NO_REVERSE
},
4248 { X86::VRNDSCALESSZr_Intkz
, X86::VRNDSCALESSZm_Intkz
, TB_NO_REVERSE
},
4249 { X86::VRSQRT14PDZ128rk
, X86::VRSQRT14PDZ128mk
, 0 },
4250 { X86::VRSQRT14PDZ256rk
, X86::VRSQRT14PDZ256mk
, 0 },
4251 { X86::VRSQRT14PDZrk
, X86::VRSQRT14PDZmk
, 0 },
4252 { X86::VRSQRT14PSZ128rk
, X86::VRSQRT14PSZ128mk
, 0 },
4253 { X86::VRSQRT14PSZ256rk
, X86::VRSQRT14PSZ256mk
, 0 },
4254 { X86::VRSQRT14PSZrk
, X86::VRSQRT14PSZmk
, 0 },
4255 { X86::VRSQRT14SDZrrkz
, X86::VRSQRT14SDZrmkz
, TB_NO_REVERSE
},
4256 { X86::VRSQRT14SSZrrkz
, X86::VRSQRT14SSZrmkz
, TB_NO_REVERSE
},
4257 { X86::VRSQRT28PDZrk
, X86::VRSQRT28PDZmk
, 0 },
4258 { X86::VRSQRT28PSZrk
, X86::VRSQRT28PSZmk
, 0 },
4259 { X86::VRSQRT28SDZrkz
, X86::VRSQRT28SDZmkz
, TB_NO_REVERSE
},
4260 { X86::VRSQRT28SSZrkz
, X86::VRSQRT28SSZmkz
, TB_NO_REVERSE
},
4261 { X86::VSCALEFPDZ128rrkz
, X86::VSCALEFPDZ128rmkz
, 0 },
4262 { X86::VSCALEFPDZ256rrkz
, X86::VSCALEFPDZ256rmkz
, 0 },
4263 { X86::VSCALEFPDZrrkz
, X86::VSCALEFPDZrmkz
, 0 },
4264 { X86::VSCALEFPSZ128rrkz
, X86::VSCALEFPSZ128rmkz
, 0 },
4265 { X86::VSCALEFPSZ256rrkz
, X86::VSCALEFPSZ256rmkz
, 0 },
4266 { X86::VSCALEFPSZrrkz
, X86::VSCALEFPSZrmkz
, 0 },
4267 { X86::VSCALEFSDZrrkz
, X86::VSCALEFSDZrmkz
, TB_NO_REVERSE
},
4268 { X86::VSCALEFSSZrrkz
, X86::VSCALEFSSZrmkz
, TB_NO_REVERSE
},
4269 { X86::VSHUFF32X4Z256rrikz
, X86::VSHUFF32X4Z256rmikz
, 0 },
4270 { X86::VSHUFF32X4Zrrikz
, X86::VSHUFF32X4Zrmikz
, 0 },
4271 { X86::VSHUFF64X2Z256rrikz
, X86::VSHUFF64X2Z256rmikz
, 0 },
4272 { X86::VSHUFF64X2Zrrikz
, X86::VSHUFF64X2Zrmikz
, 0 },
4273 { X86::VSHUFI32X4Z256rrikz
, X86::VSHUFI32X4Z256rmikz
, 0 },
4274 { X86::VSHUFI32X4Zrrikz
, X86::VSHUFI32X4Zrmikz
, 0 },
4275 { X86::VSHUFI64X2Z256rrikz
, X86::VSHUFI64X2Z256rmikz
, 0 },
4276 { X86::VSHUFI64X2Zrrikz
, X86::VSHUFI64X2Zrmikz
, 0 },
4277 { X86::VSHUFPDZ128rrikz
, X86::VSHUFPDZ128rmikz
, 0 },
4278 { X86::VSHUFPDZ256rrikz
, X86::VSHUFPDZ256rmikz
, 0 },
4279 { X86::VSHUFPDZrrikz
, X86::VSHUFPDZrmikz
, 0 },
4280 { X86::VSHUFPSZ128rrikz
, X86::VSHUFPSZ128rmikz
, 0 },
4281 { X86::VSHUFPSZ256rrikz
, X86::VSHUFPSZ256rmikz
, 0 },
4282 { X86::VSHUFPSZrrikz
, X86::VSHUFPSZrmikz
, 0 },
4283 { X86::VSQRTPDZ128rk
, X86::VSQRTPDZ128mk
, 0 },
4284 { X86::VSQRTPDZ256rk
, X86::VSQRTPDZ256mk
, 0 },
4285 { X86::VSQRTPDZrk
, X86::VSQRTPDZmk
, 0 },
4286 { X86::VSQRTPSZ128rk
, X86::VSQRTPSZ128mk
, 0 },
4287 { X86::VSQRTPSZ256rk
, X86::VSQRTPSZ256mk
, 0 },
4288 { X86::VSQRTPSZrk
, X86::VSQRTPSZmk
, 0 },
4289 { X86::VSQRTSDZr_Intkz
, X86::VSQRTSDZm_Intkz
, TB_NO_REVERSE
},
4290 { X86::VSQRTSSZr_Intkz
, X86::VSQRTSSZm_Intkz
, TB_NO_REVERSE
},
4291 { X86::VSUBPDZ128rrkz
, X86::VSUBPDZ128rmkz
, 0 },
4292 { X86::VSUBPDZ256rrkz
, X86::VSUBPDZ256rmkz
, 0 },
4293 { X86::VSUBPDZrrkz
, X86::VSUBPDZrmkz
, 0 },
4294 { X86::VSUBPSZ128rrkz
, X86::VSUBPSZ128rmkz
, 0 },
4295 { X86::VSUBPSZ256rrkz
, X86::VSUBPSZ256rmkz
, 0 },
4296 { X86::VSUBPSZrrkz
, X86::VSUBPSZrmkz
, 0 },
4297 { X86::VSUBSDZrr_Intkz
, X86::VSUBSDZrm_Intkz
, TB_NO_REVERSE
},
4298 { X86::VSUBSSZrr_Intkz
, X86::VSUBSSZrm_Intkz
, TB_NO_REVERSE
},
4299 { X86::VUNPCKHPDZ128rrkz
, X86::VUNPCKHPDZ128rmkz
, 0 },
4300 { X86::VUNPCKHPDZ256rrkz
, X86::VUNPCKHPDZ256rmkz
, 0 },
4301 { X86::VUNPCKHPDZrrkz
, X86::VUNPCKHPDZrmkz
, 0 },
4302 { X86::VUNPCKHPSZ128rrkz
, X86::VUNPCKHPSZ128rmkz
, 0 },
4303 { X86::VUNPCKHPSZ256rrkz
, X86::VUNPCKHPSZ256rmkz
, 0 },
4304 { X86::VUNPCKHPSZrrkz
, X86::VUNPCKHPSZrmkz
, 0 },
4305 { X86::VUNPCKLPDZ128rrkz
, X86::VUNPCKLPDZ128rmkz
, 0 },
4306 { X86::VUNPCKLPDZ256rrkz
, X86::VUNPCKLPDZ256rmkz
, 0 },
4307 { X86::VUNPCKLPDZrrkz
, X86::VUNPCKLPDZrmkz
, 0 },
4308 { X86::VUNPCKLPSZ128rrkz
, X86::VUNPCKLPSZ128rmkz
, 0 },
4309 { X86::VUNPCKLPSZ256rrkz
, X86::VUNPCKLPSZ256rmkz
, 0 },
4310 { X86::VUNPCKLPSZrrkz
, X86::VUNPCKLPSZrmkz
, 0 },
4311 { X86::VXORPDZ128rrkz
, X86::VXORPDZ128rmkz
, 0 },
4312 { X86::VXORPDZ256rrkz
, X86::VXORPDZ256rmkz
, 0 },
4313 { X86::VXORPDZrrkz
, X86::VXORPDZrmkz
, 0 },
4314 { X86::VXORPSZ128rrkz
, X86::VXORPSZ128rmkz
, 0 },
4315 { X86::VXORPSZ256rrkz
, X86::VXORPSZ256rmkz
, 0 },
4316 { X86::VXORPSZrrkz
, X86::VXORPSZrmkz
, 0 },
4319 static const X86MemoryFoldTableEntry MemoryFoldTable4
[] = {
4320 { X86::VADDPDZ128rrk
, X86::VADDPDZ128rmk
, 0 },
4321 { X86::VADDPDZ256rrk
, X86::VADDPDZ256rmk
, 0 },
4322 { X86::VADDPDZrrk
, X86::VADDPDZrmk
, 0 },
4323 { X86::VADDPSZ128rrk
, X86::VADDPSZ128rmk
, 0 },
4324 { X86::VADDPSZ256rrk
, X86::VADDPSZ256rmk
, 0 },
4325 { X86::VADDPSZrrk
, X86::VADDPSZrmk
, 0 },
4326 { X86::VADDSDZrr_Intk
, X86::VADDSDZrm_Intk
, TB_NO_REVERSE
},
4327 { X86::VADDSSZrr_Intk
, X86::VADDSSZrm_Intk
, TB_NO_REVERSE
},
4328 { X86::VALIGNDZ128rrik
, X86::VALIGNDZ128rmik
, 0 },
4329 { X86::VALIGNDZ256rrik
, X86::VALIGNDZ256rmik
, 0 },
4330 { X86::VALIGNDZrrik
, X86::VALIGNDZrmik
, 0 },
4331 { X86::VALIGNQZ128rrik
, X86::VALIGNQZ128rmik
, 0 },
4332 { X86::VALIGNQZ256rrik
, X86::VALIGNQZ256rmik
, 0 },
4333 { X86::VALIGNQZrrik
, X86::VALIGNQZrmik
, 0 },
4334 { X86::VANDNPDZ128rrk
, X86::VANDNPDZ128rmk
, 0 },
4335 { X86::VANDNPDZ256rrk
, X86::VANDNPDZ256rmk
, 0 },
4336 { X86::VANDNPDZrrk
, X86::VANDNPDZrmk
, 0 },
4337 { X86::VANDNPSZ128rrk
, X86::VANDNPSZ128rmk
, 0 },
4338 { X86::VANDNPSZ256rrk
, X86::VANDNPSZ256rmk
, 0 },
4339 { X86::VANDNPSZrrk
, X86::VANDNPSZrmk
, 0 },
4340 { X86::VANDPDZ128rrk
, X86::VANDPDZ128rmk
, 0 },
4341 { X86::VANDPDZ256rrk
, X86::VANDPDZ256rmk
, 0 },
4342 { X86::VANDPDZrrk
, X86::VANDPDZrmk
, 0 },
4343 { X86::VANDPSZ128rrk
, X86::VANDPSZ128rmk
, 0 },
4344 { X86::VANDPSZ256rrk
, X86::VANDPSZ256rmk
, 0 },
4345 { X86::VANDPSZrrk
, X86::VANDPSZrmk
, 0 },
4346 { X86::VCVTNE2PS2BF16Z128rrk
, X86::VCVTNE2PS2BF16Z128rmk
, 0 },
4347 { X86::VCVTNE2PS2BF16Z256rrk
, X86::VCVTNE2PS2BF16Z256rmk
, 0 },
4348 { X86::VCVTNE2PS2BF16Zrrk
, X86::VCVTNE2PS2BF16Zrmk
, 0 },
4349 { X86::VCVTSD2SSZrr_Intk
, X86::VCVTSD2SSZrm_Intk
, TB_NO_REVERSE
},
4350 { X86::VCVTSS2SDZrr_Intk
, X86::VCVTSS2SDZrm_Intk
, TB_NO_REVERSE
},
4351 { X86::VDBPSADBWZ128rrik
, X86::VDBPSADBWZ128rmik
, 0 },
4352 { X86::VDBPSADBWZ256rrik
, X86::VDBPSADBWZ256rmik
, 0 },
4353 { X86::VDBPSADBWZrrik
, X86::VDBPSADBWZrmik
, 0 },
4354 { X86::VDIVPDZ128rrk
, X86::VDIVPDZ128rmk
, 0 },
4355 { X86::VDIVPDZ256rrk
, X86::VDIVPDZ256rmk
, 0 },
4356 { X86::VDIVPDZrrk
, X86::VDIVPDZrmk
, 0 },
4357 { X86::VDIVPSZ128rrk
, X86::VDIVPSZ128rmk
, 0 },
4358 { X86::VDIVPSZ256rrk
, X86::VDIVPSZ256rmk
, 0 },
4359 { X86::VDIVPSZrrk
, X86::VDIVPSZrmk
, 0 },
4360 { X86::VDIVSDZrr_Intk
, X86::VDIVSDZrm_Intk
, TB_NO_REVERSE
},
4361 { X86::VDIVSSZrr_Intk
, X86::VDIVSSZrm_Intk
, TB_NO_REVERSE
},
4362 { X86::VDPBF16PSZ128rk
, X86::VDPBF16PSZ128mk
, 0 },
4363 { X86::VDPBF16PSZ128rkz
, X86::VDPBF16PSZ128mkz
, 0 },
4364 { X86::VDPBF16PSZ256rk
, X86::VDPBF16PSZ256mk
, 0 },
4365 { X86::VDPBF16PSZ256rkz
, X86::VDPBF16PSZ256mkz
, 0 },
4366 { X86::VDPBF16PSZrk
, X86::VDPBF16PSZmk
, 0 },
4367 { X86::VDPBF16PSZrkz
, X86::VDPBF16PSZmkz
, 0 },
4368 { X86::VFIXUPIMMPDZ128rrik
, X86::VFIXUPIMMPDZ128rmik
, 0 },
4369 { X86::VFIXUPIMMPDZ128rrikz
, X86::VFIXUPIMMPDZ128rmikz
, 0 },
4370 { X86::VFIXUPIMMPDZ256rrik
, X86::VFIXUPIMMPDZ256rmik
, 0 },
4371 { X86::VFIXUPIMMPDZ256rrikz
, X86::VFIXUPIMMPDZ256rmikz
, 0 },
4372 { X86::VFIXUPIMMPDZrrik
, X86::VFIXUPIMMPDZrmik
, 0 },
4373 { X86::VFIXUPIMMPDZrrikz
, X86::VFIXUPIMMPDZrmikz
, 0 },
4374 { X86::VFIXUPIMMPSZ128rrik
, X86::VFIXUPIMMPSZ128rmik
, 0 },
4375 { X86::VFIXUPIMMPSZ128rrikz
, X86::VFIXUPIMMPSZ128rmikz
, 0 },
4376 { X86::VFIXUPIMMPSZ256rrik
, X86::VFIXUPIMMPSZ256rmik
, 0 },
4377 { X86::VFIXUPIMMPSZ256rrikz
, X86::VFIXUPIMMPSZ256rmikz
, 0 },
4378 { X86::VFIXUPIMMPSZrrik
, X86::VFIXUPIMMPSZrmik
, 0 },
4379 { X86::VFIXUPIMMPSZrrikz
, X86::VFIXUPIMMPSZrmikz
, 0 },
4380 { X86::VFIXUPIMMSDZrrik
, X86::VFIXUPIMMSDZrmik
, TB_NO_REVERSE
},
4381 { X86::VFIXUPIMMSDZrrikz
, X86::VFIXUPIMMSDZrmikz
, TB_NO_REVERSE
},
4382 { X86::VFIXUPIMMSSZrrik
, X86::VFIXUPIMMSSZrmik
, TB_NO_REVERSE
},
4383 { X86::VFIXUPIMMSSZrrikz
, X86::VFIXUPIMMSSZrmikz
, TB_NO_REVERSE
},
4384 { X86::VFMADD132PDZ128rk
, X86::VFMADD132PDZ128mk
, 0 },
4385 { X86::VFMADD132PDZ128rkz
, X86::VFMADD132PDZ128mkz
, 0 },
4386 { X86::VFMADD132PDZ256rk
, X86::VFMADD132PDZ256mk
, 0 },
4387 { X86::VFMADD132PDZ256rkz
, X86::VFMADD132PDZ256mkz
, 0 },
4388 { X86::VFMADD132PDZrk
, X86::VFMADD132PDZmk
, 0 },
4389 { X86::VFMADD132PDZrkz
, X86::VFMADD132PDZmkz
, 0 },
4390 { X86::VFMADD132PSZ128rk
, X86::VFMADD132PSZ128mk
, 0 },
4391 { X86::VFMADD132PSZ128rkz
, X86::VFMADD132PSZ128mkz
, 0 },
4392 { X86::VFMADD132PSZ256rk
, X86::VFMADD132PSZ256mk
, 0 },
4393 { X86::VFMADD132PSZ256rkz
, X86::VFMADD132PSZ256mkz
, 0 },
4394 { X86::VFMADD132PSZrk
, X86::VFMADD132PSZmk
, 0 },
4395 { X86::VFMADD132PSZrkz
, X86::VFMADD132PSZmkz
, 0 },
4396 { X86::VFMADD132SDZr_Intk
, X86::VFMADD132SDZm_Intk
, TB_NO_REVERSE
},
4397 { X86::VFMADD132SDZr_Intkz
, X86::VFMADD132SDZm_Intkz
, TB_NO_REVERSE
},
4398 { X86::VFMADD132SSZr_Intk
, X86::VFMADD132SSZm_Intk
, TB_NO_REVERSE
},
4399 { X86::VFMADD132SSZr_Intkz
, X86::VFMADD132SSZm_Intkz
, TB_NO_REVERSE
},
4400 { X86::VFMADD213PDZ128rk
, X86::VFMADD213PDZ128mk
, 0 },
4401 { X86::VFMADD213PDZ128rkz
, X86::VFMADD213PDZ128mkz
, 0 },
4402 { X86::VFMADD213PDZ256rk
, X86::VFMADD213PDZ256mk
, 0 },
4403 { X86::VFMADD213PDZ256rkz
, X86::VFMADD213PDZ256mkz
, 0 },
4404 { X86::VFMADD213PDZrk
, X86::VFMADD213PDZmk
, 0 },
4405 { X86::VFMADD213PDZrkz
, X86::VFMADD213PDZmkz
, 0 },
4406 { X86::VFMADD213PSZ128rk
, X86::VFMADD213PSZ128mk
, 0 },
4407 { X86::VFMADD213PSZ128rkz
, X86::VFMADD213PSZ128mkz
, 0 },
4408 { X86::VFMADD213PSZ256rk
, X86::VFMADD213PSZ256mk
, 0 },
4409 { X86::VFMADD213PSZ256rkz
, X86::VFMADD213PSZ256mkz
, 0 },
4410 { X86::VFMADD213PSZrk
, X86::VFMADD213PSZmk
, 0 },
4411 { X86::VFMADD213PSZrkz
, X86::VFMADD213PSZmkz
, 0 },
4412 { X86::VFMADD213SDZr_Intk
, X86::VFMADD213SDZm_Intk
, TB_NO_REVERSE
},
4413 { X86::VFMADD213SDZr_Intkz
, X86::VFMADD213SDZm_Intkz
, TB_NO_REVERSE
},
4414 { X86::VFMADD213SSZr_Intk
, X86::VFMADD213SSZm_Intk
, TB_NO_REVERSE
},
4415 { X86::VFMADD213SSZr_Intkz
, X86::VFMADD213SSZm_Intkz
, TB_NO_REVERSE
},
4416 { X86::VFMADD231PDZ128rk
, X86::VFMADD231PDZ128mk
, 0 },
4417 { X86::VFMADD231PDZ128rkz
, X86::VFMADD231PDZ128mkz
, 0 },
4418 { X86::VFMADD231PDZ256rk
, X86::VFMADD231PDZ256mk
, 0 },
4419 { X86::VFMADD231PDZ256rkz
, X86::VFMADD231PDZ256mkz
, 0 },
4420 { X86::VFMADD231PDZrk
, X86::VFMADD231PDZmk
, 0 },
4421 { X86::VFMADD231PDZrkz
, X86::VFMADD231PDZmkz
, 0 },
4422 { X86::VFMADD231PSZ128rk
, X86::VFMADD231PSZ128mk
, 0 },
4423 { X86::VFMADD231PSZ128rkz
, X86::VFMADD231PSZ128mkz
, 0 },
4424 { X86::VFMADD231PSZ256rk
, X86::VFMADD231PSZ256mk
, 0 },
4425 { X86::VFMADD231PSZ256rkz
, X86::VFMADD231PSZ256mkz
, 0 },
4426 { X86::VFMADD231PSZrk
, X86::VFMADD231PSZmk
, 0 },
4427 { X86::VFMADD231PSZrkz
, X86::VFMADD231PSZmkz
, 0 },
4428 { X86::VFMADD231SDZr_Intk
, X86::VFMADD231SDZm_Intk
, TB_NO_REVERSE
},
4429 { X86::VFMADD231SDZr_Intkz
, X86::VFMADD231SDZm_Intkz
, TB_NO_REVERSE
},
4430 { X86::VFMADD231SSZr_Intk
, X86::VFMADD231SSZm_Intk
, TB_NO_REVERSE
},
4431 { X86::VFMADD231SSZr_Intkz
, X86::VFMADD231SSZm_Intkz
, TB_NO_REVERSE
},
4432 { X86::VFMADDSUB132PDZ128rk
, X86::VFMADDSUB132PDZ128mk
, 0 },
4433 { X86::VFMADDSUB132PDZ128rkz
, X86::VFMADDSUB132PDZ128mkz
, 0 },
4434 { X86::VFMADDSUB132PDZ256rk
, X86::VFMADDSUB132PDZ256mk
, 0 },
4435 { X86::VFMADDSUB132PDZ256rkz
, X86::VFMADDSUB132PDZ256mkz
, 0 },
4436 { X86::VFMADDSUB132PDZrk
, X86::VFMADDSUB132PDZmk
, 0 },
4437 { X86::VFMADDSUB132PDZrkz
, X86::VFMADDSUB132PDZmkz
, 0 },
4438 { X86::VFMADDSUB132PSZ128rk
, X86::VFMADDSUB132PSZ128mk
, 0 },
4439 { X86::VFMADDSUB132PSZ128rkz
, X86::VFMADDSUB132PSZ128mkz
, 0 },
4440 { X86::VFMADDSUB132PSZ256rk
, X86::VFMADDSUB132PSZ256mk
, 0 },
4441 { X86::VFMADDSUB132PSZ256rkz
, X86::VFMADDSUB132PSZ256mkz
, 0 },
4442 { X86::VFMADDSUB132PSZrk
, X86::VFMADDSUB132PSZmk
, 0 },
4443 { X86::VFMADDSUB132PSZrkz
, X86::VFMADDSUB132PSZmkz
, 0 },
4444 { X86::VFMADDSUB213PDZ128rk
, X86::VFMADDSUB213PDZ128mk
, 0 },
4445 { X86::VFMADDSUB213PDZ128rkz
, X86::VFMADDSUB213PDZ128mkz
, 0 },
4446 { X86::VFMADDSUB213PDZ256rk
, X86::VFMADDSUB213PDZ256mk
, 0 },
4447 { X86::VFMADDSUB213PDZ256rkz
, X86::VFMADDSUB213PDZ256mkz
, 0 },
4448 { X86::VFMADDSUB213PDZrk
, X86::VFMADDSUB213PDZmk
, 0 },
4449 { X86::VFMADDSUB213PDZrkz
, X86::VFMADDSUB213PDZmkz
, 0 },
4450 { X86::VFMADDSUB213PSZ128rk
, X86::VFMADDSUB213PSZ128mk
, 0 },
4451 { X86::VFMADDSUB213PSZ128rkz
, X86::VFMADDSUB213PSZ128mkz
, 0 },
4452 { X86::VFMADDSUB213PSZ256rk
, X86::VFMADDSUB213PSZ256mk
, 0 },
4453 { X86::VFMADDSUB213PSZ256rkz
, X86::VFMADDSUB213PSZ256mkz
, 0 },
4454 { X86::VFMADDSUB213PSZrk
, X86::VFMADDSUB213PSZmk
, 0 },
4455 { X86::VFMADDSUB213PSZrkz
, X86::VFMADDSUB213PSZmkz
, 0 },
4456 { X86::VFMADDSUB231PDZ128rk
, X86::VFMADDSUB231PDZ128mk
, 0 },
4457 { X86::VFMADDSUB231PDZ128rkz
, X86::VFMADDSUB231PDZ128mkz
, 0 },
4458 { X86::VFMADDSUB231PDZ256rk
, X86::VFMADDSUB231PDZ256mk
, 0 },
4459 { X86::VFMADDSUB231PDZ256rkz
, X86::VFMADDSUB231PDZ256mkz
, 0 },
4460 { X86::VFMADDSUB231PDZrk
, X86::VFMADDSUB231PDZmk
, 0 },
4461 { X86::VFMADDSUB231PDZrkz
, X86::VFMADDSUB231PDZmkz
, 0 },
4462 { X86::VFMADDSUB231PSZ128rk
, X86::VFMADDSUB231PSZ128mk
, 0 },
4463 { X86::VFMADDSUB231PSZ128rkz
, X86::VFMADDSUB231PSZ128mkz
, 0 },
4464 { X86::VFMADDSUB231PSZ256rk
, X86::VFMADDSUB231PSZ256mk
, 0 },
4465 { X86::VFMADDSUB231PSZ256rkz
, X86::VFMADDSUB231PSZ256mkz
, 0 },
4466 { X86::VFMADDSUB231PSZrk
, X86::VFMADDSUB231PSZmk
, 0 },
4467 { X86::VFMADDSUB231PSZrkz
, X86::VFMADDSUB231PSZmkz
, 0 },
4468 { X86::VFMSUB132PDZ128rk
, X86::VFMSUB132PDZ128mk
, 0 },
4469 { X86::VFMSUB132PDZ128rkz
, X86::VFMSUB132PDZ128mkz
, 0 },
4470 { X86::VFMSUB132PDZ256rk
, X86::VFMSUB132PDZ256mk
, 0 },
4471 { X86::VFMSUB132PDZ256rkz
, X86::VFMSUB132PDZ256mkz
, 0 },
4472 { X86::VFMSUB132PDZrk
, X86::VFMSUB132PDZmk
, 0 },
4473 { X86::VFMSUB132PDZrkz
, X86::VFMSUB132PDZmkz
, 0 },
4474 { X86::VFMSUB132PSZ128rk
, X86::VFMSUB132PSZ128mk
, 0 },
4475 { X86::VFMSUB132PSZ128rkz
, X86::VFMSUB132PSZ128mkz
, 0 },
4476 { X86::VFMSUB132PSZ256rk
, X86::VFMSUB132PSZ256mk
, 0 },
4477 { X86::VFMSUB132PSZ256rkz
, X86::VFMSUB132PSZ256mkz
, 0 },
4478 { X86::VFMSUB132PSZrk
, X86::VFMSUB132PSZmk
, 0 },
4479 { X86::VFMSUB132PSZrkz
, X86::VFMSUB132PSZmkz
, 0 },
4480 { X86::VFMSUB132SDZr_Intk
, X86::VFMSUB132SDZm_Intk
, TB_NO_REVERSE
},
4481 { X86::VFMSUB132SDZr_Intkz
, X86::VFMSUB132SDZm_Intkz
, TB_NO_REVERSE
},
4482 { X86::VFMSUB132SSZr_Intk
, X86::VFMSUB132SSZm_Intk
, TB_NO_REVERSE
},
4483 { X86::VFMSUB132SSZr_Intkz
, X86::VFMSUB132SSZm_Intkz
, TB_NO_REVERSE
},
4484 { X86::VFMSUB213PDZ128rk
, X86::VFMSUB213PDZ128mk
, 0 },
4485 { X86::VFMSUB213PDZ128rkz
, X86::VFMSUB213PDZ128mkz
, 0 },
4486 { X86::VFMSUB213PDZ256rk
, X86::VFMSUB213PDZ256mk
, 0 },
4487 { X86::VFMSUB213PDZ256rkz
, X86::VFMSUB213PDZ256mkz
, 0 },
4488 { X86::VFMSUB213PDZrk
, X86::VFMSUB213PDZmk
, 0 },
4489 { X86::VFMSUB213PDZrkz
, X86::VFMSUB213PDZmkz
, 0 },
4490 { X86::VFMSUB213PSZ128rk
, X86::VFMSUB213PSZ128mk
, 0 },
4491 { X86::VFMSUB213PSZ128rkz
, X86::VFMSUB213PSZ128mkz
, 0 },
4492 { X86::VFMSUB213PSZ256rk
, X86::VFMSUB213PSZ256mk
, 0 },
4493 { X86::VFMSUB213PSZ256rkz
, X86::VFMSUB213PSZ256mkz
, 0 },
4494 { X86::VFMSUB213PSZrk
, X86::VFMSUB213PSZmk
, 0 },
4495 { X86::VFMSUB213PSZrkz
, X86::VFMSUB213PSZmkz
, 0 },
4496 { X86::VFMSUB213SDZr_Intk
, X86::VFMSUB213SDZm_Intk
, TB_NO_REVERSE
},
4497 { X86::VFMSUB213SDZr_Intkz
, X86::VFMSUB213SDZm_Intkz
, TB_NO_REVERSE
},
4498 { X86::VFMSUB213SSZr_Intk
, X86::VFMSUB213SSZm_Intk
, TB_NO_REVERSE
},
4499 { X86::VFMSUB213SSZr_Intkz
, X86::VFMSUB213SSZm_Intkz
, TB_NO_REVERSE
},
4500 { X86::VFMSUB231PDZ128rk
, X86::VFMSUB231PDZ128mk
, 0 },
4501 { X86::VFMSUB231PDZ128rkz
, X86::VFMSUB231PDZ128mkz
, 0 },
4502 { X86::VFMSUB231PDZ256rk
, X86::VFMSUB231PDZ256mk
, 0 },
4503 { X86::VFMSUB231PDZ256rkz
, X86::VFMSUB231PDZ256mkz
, 0 },
4504 { X86::VFMSUB231PDZrk
, X86::VFMSUB231PDZmk
, 0 },
4505 { X86::VFMSUB231PDZrkz
, X86::VFMSUB231PDZmkz
, 0 },
4506 { X86::VFMSUB231PSZ128rk
, X86::VFMSUB231PSZ128mk
, 0 },
4507 { X86::VFMSUB231PSZ128rkz
, X86::VFMSUB231PSZ128mkz
, 0 },
4508 { X86::VFMSUB231PSZ256rk
, X86::VFMSUB231PSZ256mk
, 0 },
4509 { X86::VFMSUB231PSZ256rkz
, X86::VFMSUB231PSZ256mkz
, 0 },
4510 { X86::VFMSUB231PSZrk
, X86::VFMSUB231PSZmk
, 0 },
4511 { X86::VFMSUB231PSZrkz
, X86::VFMSUB231PSZmkz
, 0 },
4512 { X86::VFMSUB231SDZr_Intk
, X86::VFMSUB231SDZm_Intk
, TB_NO_REVERSE
},
4513 { X86::VFMSUB231SDZr_Intkz
, X86::VFMSUB231SDZm_Intkz
, TB_NO_REVERSE
},
4514 { X86::VFMSUB231SSZr_Intk
, X86::VFMSUB231SSZm_Intk
, TB_NO_REVERSE
},
4515 { X86::VFMSUB231SSZr_Intkz
, X86::VFMSUB231SSZm_Intkz
, TB_NO_REVERSE
},
4516 { X86::VFMSUBADD132PDZ128rk
, X86::VFMSUBADD132PDZ128mk
, 0 },
4517 { X86::VFMSUBADD132PDZ128rkz
, X86::VFMSUBADD132PDZ128mkz
, 0 },
4518 { X86::VFMSUBADD132PDZ256rk
, X86::VFMSUBADD132PDZ256mk
, 0 },
4519 { X86::VFMSUBADD132PDZ256rkz
, X86::VFMSUBADD132PDZ256mkz
, 0 },
4520 { X86::VFMSUBADD132PDZrk
, X86::VFMSUBADD132PDZmk
, 0 },
4521 { X86::VFMSUBADD132PDZrkz
, X86::VFMSUBADD132PDZmkz
, 0 },
4522 { X86::VFMSUBADD132PSZ128rk
, X86::VFMSUBADD132PSZ128mk
, 0 },
4523 { X86::VFMSUBADD132PSZ128rkz
, X86::VFMSUBADD132PSZ128mkz
, 0 },
4524 { X86::VFMSUBADD132PSZ256rk
, X86::VFMSUBADD132PSZ256mk
, 0 },
4525 { X86::VFMSUBADD132PSZ256rkz
, X86::VFMSUBADD132PSZ256mkz
, 0 },
4526 { X86::VFMSUBADD132PSZrk
, X86::VFMSUBADD132PSZmk
, 0 },
4527 { X86::VFMSUBADD132PSZrkz
, X86::VFMSUBADD132PSZmkz
, 0 },
4528 { X86::VFMSUBADD213PDZ128rk
, X86::VFMSUBADD213PDZ128mk
, 0 },
4529 { X86::VFMSUBADD213PDZ128rkz
, X86::VFMSUBADD213PDZ128mkz
, 0 },
4530 { X86::VFMSUBADD213PDZ256rk
, X86::VFMSUBADD213PDZ256mk
, 0 },
4531 { X86::VFMSUBADD213PDZ256rkz
, X86::VFMSUBADD213PDZ256mkz
, 0 },
4532 { X86::VFMSUBADD213PDZrk
, X86::VFMSUBADD213PDZmk
, 0 },
4533 { X86::VFMSUBADD213PDZrkz
, X86::VFMSUBADD213PDZmkz
, 0 },
4534 { X86::VFMSUBADD213PSZ128rk
, X86::VFMSUBADD213PSZ128mk
, 0 },
4535 { X86::VFMSUBADD213PSZ128rkz
, X86::VFMSUBADD213PSZ128mkz
, 0 },
4536 { X86::VFMSUBADD213PSZ256rk
, X86::VFMSUBADD213PSZ256mk
, 0 },
4537 { X86::VFMSUBADD213PSZ256rkz
, X86::VFMSUBADD213PSZ256mkz
, 0 },
4538 { X86::VFMSUBADD213PSZrk
, X86::VFMSUBADD213PSZmk
, 0 },
4539 { X86::VFMSUBADD213PSZrkz
, X86::VFMSUBADD213PSZmkz
, 0 },
4540 { X86::VFMSUBADD231PDZ128rk
, X86::VFMSUBADD231PDZ128mk
, 0 },
4541 { X86::VFMSUBADD231PDZ128rkz
, X86::VFMSUBADD231PDZ128mkz
, 0 },
4542 { X86::VFMSUBADD231PDZ256rk
, X86::VFMSUBADD231PDZ256mk
, 0 },
4543 { X86::VFMSUBADD231PDZ256rkz
, X86::VFMSUBADD231PDZ256mkz
, 0 },
4544 { X86::VFMSUBADD231PDZrk
, X86::VFMSUBADD231PDZmk
, 0 },
4545 { X86::VFMSUBADD231PDZrkz
, X86::VFMSUBADD231PDZmkz
, 0 },
4546 { X86::VFMSUBADD231PSZ128rk
, X86::VFMSUBADD231PSZ128mk
, 0 },
4547 { X86::VFMSUBADD231PSZ128rkz
, X86::VFMSUBADD231PSZ128mkz
, 0 },
4548 { X86::VFMSUBADD231PSZ256rk
, X86::VFMSUBADD231PSZ256mk
, 0 },
4549 { X86::VFMSUBADD231PSZ256rkz
, X86::VFMSUBADD231PSZ256mkz
, 0 },
4550 { X86::VFMSUBADD231PSZrk
, X86::VFMSUBADD231PSZmk
, 0 },
4551 { X86::VFMSUBADD231PSZrkz
, X86::VFMSUBADD231PSZmkz
, 0 },
4552 { X86::VFNMADD132PDZ128rk
, X86::VFNMADD132PDZ128mk
, 0 },
4553 { X86::VFNMADD132PDZ128rkz
, X86::VFNMADD132PDZ128mkz
, 0 },
4554 { X86::VFNMADD132PDZ256rk
, X86::VFNMADD132PDZ256mk
, 0 },
4555 { X86::VFNMADD132PDZ256rkz
, X86::VFNMADD132PDZ256mkz
, 0 },
4556 { X86::VFNMADD132PDZrk
, X86::VFNMADD132PDZmk
, 0 },
4557 { X86::VFNMADD132PDZrkz
, X86::VFNMADD132PDZmkz
, 0 },
4558 { X86::VFNMADD132PSZ128rk
, X86::VFNMADD132PSZ128mk
, 0 },
4559 { X86::VFNMADD132PSZ128rkz
, X86::VFNMADD132PSZ128mkz
, 0 },
4560 { X86::VFNMADD132PSZ256rk
, X86::VFNMADD132PSZ256mk
, 0 },
4561 { X86::VFNMADD132PSZ256rkz
, X86::VFNMADD132PSZ256mkz
, 0 },
4562 { X86::VFNMADD132PSZrk
, X86::VFNMADD132PSZmk
, 0 },
4563 { X86::VFNMADD132PSZrkz
, X86::VFNMADD132PSZmkz
, 0 },
4564 { X86::VFNMADD132SDZr_Intk
, X86::VFNMADD132SDZm_Intk
, TB_NO_REVERSE
},
4565 { X86::VFNMADD132SDZr_Intkz
, X86::VFNMADD132SDZm_Intkz
, TB_NO_REVERSE
},
4566 { X86::VFNMADD132SSZr_Intk
, X86::VFNMADD132SSZm_Intk
, TB_NO_REVERSE
},
4567 { X86::VFNMADD132SSZr_Intkz
, X86::VFNMADD132SSZm_Intkz
, TB_NO_REVERSE
},
4568 { X86::VFNMADD213PDZ128rk
, X86::VFNMADD213PDZ128mk
, 0 },
4569 { X86::VFNMADD213PDZ128rkz
, X86::VFNMADD213PDZ128mkz
, 0 },
4570 { X86::VFNMADD213PDZ256rk
, X86::VFNMADD213PDZ256mk
, 0 },
4571 { X86::VFNMADD213PDZ256rkz
, X86::VFNMADD213PDZ256mkz
, 0 },
4572 { X86::VFNMADD213PDZrk
, X86::VFNMADD213PDZmk
, 0 },
4573 { X86::VFNMADD213PDZrkz
, X86::VFNMADD213PDZmkz
, 0 },
4574 { X86::VFNMADD213PSZ128rk
, X86::VFNMADD213PSZ128mk
, 0 },
4575 { X86::VFNMADD213PSZ128rkz
, X86::VFNMADD213PSZ128mkz
, 0 },
4576 { X86::VFNMADD213PSZ256rk
, X86::VFNMADD213PSZ256mk
, 0 },
4577 { X86::VFNMADD213PSZ256rkz
, X86::VFNMADD213PSZ256mkz
, 0 },
4578 { X86::VFNMADD213PSZrk
, X86::VFNMADD213PSZmk
, 0 },
4579 { X86::VFNMADD213PSZrkz
, X86::VFNMADD213PSZmkz
, 0 },
4580 { X86::VFNMADD213SDZr_Intk
, X86::VFNMADD213SDZm_Intk
, TB_NO_REVERSE
},
4581 { X86::VFNMADD213SDZr_Intkz
, X86::VFNMADD213SDZm_Intkz
, TB_NO_REVERSE
},
4582 { X86::VFNMADD213SSZr_Intk
, X86::VFNMADD213SSZm_Intk
, TB_NO_REVERSE
},
4583 { X86::VFNMADD213SSZr_Intkz
, X86::VFNMADD213SSZm_Intkz
, TB_NO_REVERSE
},
4584 { X86::VFNMADD231PDZ128rk
, X86::VFNMADD231PDZ128mk
, 0 },
4585 { X86::VFNMADD231PDZ128rkz
, X86::VFNMADD231PDZ128mkz
, 0 },
4586 { X86::VFNMADD231PDZ256rk
, X86::VFNMADD231PDZ256mk
, 0 },
4587 { X86::VFNMADD231PDZ256rkz
, X86::VFNMADD231PDZ256mkz
, 0 },
4588 { X86::VFNMADD231PDZrk
, X86::VFNMADD231PDZmk
, 0 },
4589 { X86::VFNMADD231PDZrkz
, X86::VFNMADD231PDZmkz
, 0 },
4590 { X86::VFNMADD231PSZ128rk
, X86::VFNMADD231PSZ128mk
, 0 },
4591 { X86::VFNMADD231PSZ128rkz
, X86::VFNMADD231PSZ128mkz
, 0 },
4592 { X86::VFNMADD231PSZ256rk
, X86::VFNMADD231PSZ256mk
, 0 },
4593 { X86::VFNMADD231PSZ256rkz
, X86::VFNMADD231PSZ256mkz
, 0 },
4594 { X86::VFNMADD231PSZrk
, X86::VFNMADD231PSZmk
, 0 },
4595 { X86::VFNMADD231PSZrkz
, X86::VFNMADD231PSZmkz
, 0 },
4596 { X86::VFNMADD231SDZr_Intk
, X86::VFNMADD231SDZm_Intk
, TB_NO_REVERSE
},
4597 { X86::VFNMADD231SDZr_Intkz
, X86::VFNMADD231SDZm_Intkz
, TB_NO_REVERSE
},
4598 { X86::VFNMADD231SSZr_Intk
, X86::VFNMADD231SSZm_Intk
, TB_NO_REVERSE
},
4599 { X86::VFNMADD231SSZr_Intkz
, X86::VFNMADD231SSZm_Intkz
, TB_NO_REVERSE
},
4600 { X86::VFNMSUB132PDZ128rk
, X86::VFNMSUB132PDZ128mk
, 0 },
4601 { X86::VFNMSUB132PDZ128rkz
, X86::VFNMSUB132PDZ128mkz
, 0 },
4602 { X86::VFNMSUB132PDZ256rk
, X86::VFNMSUB132PDZ256mk
, 0 },
4603 { X86::VFNMSUB132PDZ256rkz
, X86::VFNMSUB132PDZ256mkz
, 0 },
4604 { X86::VFNMSUB132PDZrk
, X86::VFNMSUB132PDZmk
, 0 },
4605 { X86::VFNMSUB132PDZrkz
, X86::VFNMSUB132PDZmkz
, 0 },
4606 { X86::VFNMSUB132PSZ128rk
, X86::VFNMSUB132PSZ128mk
, 0 },
4607 { X86::VFNMSUB132PSZ128rkz
, X86::VFNMSUB132PSZ128mkz
, 0 },
4608 { X86::VFNMSUB132PSZ256rk
, X86::VFNMSUB132PSZ256mk
, 0 },
4609 { X86::VFNMSUB132PSZ256rkz
, X86::VFNMSUB132PSZ256mkz
, 0 },
4610 { X86::VFNMSUB132PSZrk
, X86::VFNMSUB132PSZmk
, 0 },
4611 { X86::VFNMSUB132PSZrkz
, X86::VFNMSUB132PSZmkz
, 0 },
4612 { X86::VFNMSUB132SDZr_Intk
, X86::VFNMSUB132SDZm_Intk
, TB_NO_REVERSE
},
4613 { X86::VFNMSUB132SDZr_Intkz
, X86::VFNMSUB132SDZm_Intkz
, TB_NO_REVERSE
},
4614 { X86::VFNMSUB132SSZr_Intk
, X86::VFNMSUB132SSZm_Intk
, TB_NO_REVERSE
},
4615 { X86::VFNMSUB132SSZr_Intkz
, X86::VFNMSUB132SSZm_Intkz
, TB_NO_REVERSE
},
4616 { X86::VFNMSUB213PDZ128rk
, X86::VFNMSUB213PDZ128mk
, 0 },
4617 { X86::VFNMSUB213PDZ128rkz
, X86::VFNMSUB213PDZ128mkz
, 0 },
4618 { X86::VFNMSUB213PDZ256rk
, X86::VFNMSUB213PDZ256mk
, 0 },
4619 { X86::VFNMSUB213PDZ256rkz
, X86::VFNMSUB213PDZ256mkz
, 0 },
4620 { X86::VFNMSUB213PDZrk
, X86::VFNMSUB213PDZmk
, 0 },
4621 { X86::VFNMSUB213PDZrkz
, X86::VFNMSUB213PDZmkz
, 0 },
4622 { X86::VFNMSUB213PSZ128rk
, X86::VFNMSUB213PSZ128mk
, 0 },
4623 { X86::VFNMSUB213PSZ128rkz
, X86::VFNMSUB213PSZ128mkz
, 0 },
4624 { X86::VFNMSUB213PSZ256rk
, X86::VFNMSUB213PSZ256mk
, 0 },
4625 { X86::VFNMSUB213PSZ256rkz
, X86::VFNMSUB213PSZ256mkz
, 0 },
4626 { X86::VFNMSUB213PSZrk
, X86::VFNMSUB213PSZmk
, 0 },
4627 { X86::VFNMSUB213PSZrkz
, X86::VFNMSUB213PSZmkz
, 0 },
4628 { X86::VFNMSUB213SDZr_Intk
, X86::VFNMSUB213SDZm_Intk
, TB_NO_REVERSE
},
4629 { X86::VFNMSUB213SDZr_Intkz
, X86::VFNMSUB213SDZm_Intkz
, TB_NO_REVERSE
},
4630 { X86::VFNMSUB213SSZr_Intk
, X86::VFNMSUB213SSZm_Intk
, TB_NO_REVERSE
},
4631 { X86::VFNMSUB213SSZr_Intkz
, X86::VFNMSUB213SSZm_Intkz
, TB_NO_REVERSE
},
4632 { X86::VFNMSUB231PDZ128rk
, X86::VFNMSUB231PDZ128mk
, 0 },
4633 { X86::VFNMSUB231PDZ128rkz
, X86::VFNMSUB231PDZ128mkz
, 0 },
4634 { X86::VFNMSUB231PDZ256rk
, X86::VFNMSUB231PDZ256mk
, 0 },
4635 { X86::VFNMSUB231PDZ256rkz
, X86::VFNMSUB231PDZ256mkz
, 0 },
4636 { X86::VFNMSUB231PDZrk
, X86::VFNMSUB231PDZmk
, 0 },
4637 { X86::VFNMSUB231PDZrkz
, X86::VFNMSUB231PDZmkz
, 0 },
4638 { X86::VFNMSUB231PSZ128rk
, X86::VFNMSUB231PSZ128mk
, 0 },
4639 { X86::VFNMSUB231PSZ128rkz
, X86::VFNMSUB231PSZ128mkz
, 0 },
4640 { X86::VFNMSUB231PSZ256rk
, X86::VFNMSUB231PSZ256mk
, 0 },
4641 { X86::VFNMSUB231PSZ256rkz
, X86::VFNMSUB231PSZ256mkz
, 0 },
4642 { X86::VFNMSUB231PSZrk
, X86::VFNMSUB231PSZmk
, 0 },
4643 { X86::VFNMSUB231PSZrkz
, X86::VFNMSUB231PSZmkz
, 0 },
4644 { X86::VFNMSUB231SDZr_Intk
, X86::VFNMSUB231SDZm_Intk
, TB_NO_REVERSE
},
4645 { X86::VFNMSUB231SDZr_Intkz
, X86::VFNMSUB231SDZm_Intkz
, TB_NO_REVERSE
},
4646 { X86::VFNMSUB231SSZr_Intk
, X86::VFNMSUB231SSZm_Intk
, TB_NO_REVERSE
},
4647 { X86::VFNMSUB231SSZr_Intkz
, X86::VFNMSUB231SSZm_Intkz
, TB_NO_REVERSE
},
4648 { X86::VGETEXPSDZrk
, X86::VGETEXPSDZmk
, TB_NO_REVERSE
},
4649 { X86::VGETEXPSSZrk
, X86::VGETEXPSSZmk
, TB_NO_REVERSE
},
4650 { X86::VGETMANTSDZrrik
, X86::VGETMANTSDZrmik
, TB_NO_REVERSE
},
4651 { X86::VGETMANTSSZrrik
, X86::VGETMANTSSZrmik
, TB_NO_REVERSE
},
4652 { X86::VGF2P8AFFINEINVQBZ128rrik
, X86::VGF2P8AFFINEINVQBZ128rmik
, 0 },
4653 { X86::VGF2P8AFFINEINVQBZ256rrik
, X86::VGF2P8AFFINEINVQBZ256rmik
, 0 },
4654 { X86::VGF2P8AFFINEINVQBZrrik
, X86::VGF2P8AFFINEINVQBZrmik
, 0 },
4655 { X86::VGF2P8AFFINEQBZ128rrik
, X86::VGF2P8AFFINEQBZ128rmik
, 0 },
4656 { X86::VGF2P8AFFINEQBZ256rrik
, X86::VGF2P8AFFINEQBZ256rmik
, 0 },
4657 { X86::VGF2P8AFFINEQBZrrik
, X86::VGF2P8AFFINEQBZrmik
, 0 },
4658 { X86::VGF2P8MULBZ128rrk
, X86::VGF2P8MULBZ128rmk
, 0 },
4659 { X86::VGF2P8MULBZ256rrk
, X86::VGF2P8MULBZ256rmk
, 0 },
4660 { X86::VGF2P8MULBZrrk
, X86::VGF2P8MULBZrmk
, 0 },
4661 { X86::VINSERTF32x4Z256rrk
, X86::VINSERTF32x4Z256rmk
, 0 },
4662 { X86::VINSERTF32x4Zrrk
, X86::VINSERTF32x4Zrmk
, 0 },
4663 { X86::VINSERTF32x8Zrrk
, X86::VINSERTF32x8Zrmk
, 0 },
4664 { X86::VINSERTF64x2Z256rrk
, X86::VINSERTF64x2Z256rmk
, 0 },
4665 { X86::VINSERTF64x2Zrrk
, X86::VINSERTF64x2Zrmk
, 0 },
4666 { X86::VINSERTF64x4Zrrk
, X86::VINSERTF64x4Zrmk
, 0 },
4667 { X86::VINSERTI32x4Z256rrk
, X86::VINSERTI32x4Z256rmk
, 0 },
4668 { X86::VINSERTI32x4Zrrk
, X86::VINSERTI32x4Zrmk
, 0 },
4669 { X86::VINSERTI32x8Zrrk
, X86::VINSERTI32x8Zrmk
, 0 },
4670 { X86::VINSERTI64x2Z256rrk
, X86::VINSERTI64x2Z256rmk
, 0 },
4671 { X86::VINSERTI64x2Zrrk
, X86::VINSERTI64x2Zrmk
, 0 },
4672 { X86::VINSERTI64x4Zrrk
, X86::VINSERTI64x4Zrmk
, 0 },
4673 { X86::VMAXCPDZ128rrk
, X86::VMAXCPDZ128rmk
, 0 },
4674 { X86::VMAXCPDZ256rrk
, X86::VMAXCPDZ256rmk
, 0 },
4675 { X86::VMAXCPDZrrk
, X86::VMAXCPDZrmk
, 0 },
4676 { X86::VMAXCPSZ128rrk
, X86::VMAXCPSZ128rmk
, 0 },
4677 { X86::VMAXCPSZ256rrk
, X86::VMAXCPSZ256rmk
, 0 },
4678 { X86::VMAXCPSZrrk
, X86::VMAXCPSZrmk
, 0 },
4679 { X86::VMAXPDZ128rrk
, X86::VMAXPDZ128rmk
, 0 },
4680 { X86::VMAXPDZ256rrk
, X86::VMAXPDZ256rmk
, 0 },
4681 { X86::VMAXPDZrrk
, X86::VMAXPDZrmk
, 0 },
4682 { X86::VMAXPSZ128rrk
, X86::VMAXPSZ128rmk
, 0 },
4683 { X86::VMAXPSZ256rrk
, X86::VMAXPSZ256rmk
, 0 },
4684 { X86::VMAXPSZrrk
, X86::VMAXPSZrmk
, 0 },
4685 { X86::VMAXSDZrr_Intk
, X86::VMAXSDZrm_Intk
, TB_NO_REVERSE
},
4686 { X86::VMAXSSZrr_Intk
, X86::VMAXSSZrm_Intk
, TB_NO_REVERSE
},
4687 { X86::VMINCPDZ128rrk
, X86::VMINCPDZ128rmk
, 0 },
4688 { X86::VMINCPDZ256rrk
, X86::VMINCPDZ256rmk
, 0 },
4689 { X86::VMINCPDZrrk
, X86::VMINCPDZrmk
, 0 },
4690 { X86::VMINCPSZ128rrk
, X86::VMINCPSZ128rmk
, 0 },
4691 { X86::VMINCPSZ256rrk
, X86::VMINCPSZ256rmk
, 0 },
4692 { X86::VMINCPSZrrk
, X86::VMINCPSZrmk
, 0 },
4693 { X86::VMINPDZ128rrk
, X86::VMINPDZ128rmk
, 0 },
4694 { X86::VMINPDZ256rrk
, X86::VMINPDZ256rmk
, 0 },
4695 { X86::VMINPDZrrk
, X86::VMINPDZrmk
, 0 },
4696 { X86::VMINPSZ128rrk
, X86::VMINPSZ128rmk
, 0 },
4697 { X86::VMINPSZ256rrk
, X86::VMINPSZ256rmk
, 0 },
4698 { X86::VMINPSZrrk
, X86::VMINPSZrmk
, 0 },
4699 { X86::VMINSDZrr_Intk
, X86::VMINSDZrm_Intk
, TB_NO_REVERSE
},
4700 { X86::VMINSSZrr_Intk
, X86::VMINSSZrm_Intk
, TB_NO_REVERSE
},
4701 { X86::VMULPDZ128rrk
, X86::VMULPDZ128rmk
, 0 },
4702 { X86::VMULPDZ256rrk
, X86::VMULPDZ256rmk
, 0 },
4703 { X86::VMULPDZrrk
, X86::VMULPDZrmk
, 0 },
4704 { X86::VMULPSZ128rrk
, X86::VMULPSZ128rmk
, 0 },
4705 { X86::VMULPSZ256rrk
, X86::VMULPSZ256rmk
, 0 },
4706 { X86::VMULPSZrrk
, X86::VMULPSZrmk
, 0 },
4707 { X86::VMULSDZrr_Intk
, X86::VMULSDZrm_Intk
, TB_NO_REVERSE
},
4708 { X86::VMULSSZrr_Intk
, X86::VMULSSZrm_Intk
, TB_NO_REVERSE
},
4709 { X86::VORPDZ128rrk
, X86::VORPDZ128rmk
, 0 },
4710 { X86::VORPDZ256rrk
, X86::VORPDZ256rmk
, 0 },
4711 { X86::VORPDZrrk
, X86::VORPDZrmk
, 0 },
4712 { X86::VORPSZ128rrk
, X86::VORPSZ128rmk
, 0 },
4713 { X86::VORPSZ256rrk
, X86::VORPSZ256rmk
, 0 },
4714 { X86::VORPSZrrk
, X86::VORPSZrmk
, 0 },
4715 { X86::VPACKSSDWZ128rrk
, X86::VPACKSSDWZ128rmk
, 0 },
4716 { X86::VPACKSSDWZ256rrk
, X86::VPACKSSDWZ256rmk
, 0 },
4717 { X86::VPACKSSDWZrrk
, X86::VPACKSSDWZrmk
, 0 },
4718 { X86::VPACKSSWBZ128rrk
, X86::VPACKSSWBZ128rmk
, 0 },
4719 { X86::VPACKSSWBZ256rrk
, X86::VPACKSSWBZ256rmk
, 0 },
4720 { X86::VPACKSSWBZrrk
, X86::VPACKSSWBZrmk
, 0 },
4721 { X86::VPACKUSDWZ128rrk
, X86::VPACKUSDWZ128rmk
, 0 },
4722 { X86::VPACKUSDWZ256rrk
, X86::VPACKUSDWZ256rmk
, 0 },
4723 { X86::VPACKUSDWZrrk
, X86::VPACKUSDWZrmk
, 0 },
4724 { X86::VPACKUSWBZ128rrk
, X86::VPACKUSWBZ128rmk
, 0 },
4725 { X86::VPACKUSWBZ256rrk
, X86::VPACKUSWBZ256rmk
, 0 },
4726 { X86::VPACKUSWBZrrk
, X86::VPACKUSWBZrmk
, 0 },
4727 { X86::VPADDBZ128rrk
, X86::VPADDBZ128rmk
, 0 },
4728 { X86::VPADDBZ256rrk
, X86::VPADDBZ256rmk
, 0 },
4729 { X86::VPADDBZrrk
, X86::VPADDBZrmk
, 0 },
4730 { X86::VPADDDZ128rrk
, X86::VPADDDZ128rmk
, 0 },
4731 { X86::VPADDDZ256rrk
, X86::VPADDDZ256rmk
, 0 },
4732 { X86::VPADDDZrrk
, X86::VPADDDZrmk
, 0 },
4733 { X86::VPADDQZ128rrk
, X86::VPADDQZ128rmk
, 0 },
4734 { X86::VPADDQZ256rrk
, X86::VPADDQZ256rmk
, 0 },
4735 { X86::VPADDQZrrk
, X86::VPADDQZrmk
, 0 },
4736 { X86::VPADDSBZ128rrk
, X86::VPADDSBZ128rmk
, 0 },
4737 { X86::VPADDSBZ256rrk
, X86::VPADDSBZ256rmk
, 0 },
4738 { X86::VPADDSBZrrk
, X86::VPADDSBZrmk
, 0 },
4739 { X86::VPADDSWZ128rrk
, X86::VPADDSWZ128rmk
, 0 },
4740 { X86::VPADDSWZ256rrk
, X86::VPADDSWZ256rmk
, 0 },
4741 { X86::VPADDSWZrrk
, X86::VPADDSWZrmk
, 0 },
4742 { X86::VPADDUSBZ128rrk
, X86::VPADDUSBZ128rmk
, 0 },
4743 { X86::VPADDUSBZ256rrk
, X86::VPADDUSBZ256rmk
, 0 },
4744 { X86::VPADDUSBZrrk
, X86::VPADDUSBZrmk
, 0 },
4745 { X86::VPADDUSWZ128rrk
, X86::VPADDUSWZ128rmk
, 0 },
4746 { X86::VPADDUSWZ256rrk
, X86::VPADDUSWZ256rmk
, 0 },
4747 { X86::VPADDUSWZrrk
, X86::VPADDUSWZrmk
, 0 },
4748 { X86::VPADDWZ128rrk
, X86::VPADDWZ128rmk
, 0 },
4749 { X86::VPADDWZ256rrk
, X86::VPADDWZ256rmk
, 0 },
4750 { X86::VPADDWZrrk
, X86::VPADDWZrmk
, 0 },
4751 { X86::VPALIGNRZ128rrik
, X86::VPALIGNRZ128rmik
, 0 },
4752 { X86::VPALIGNRZ256rrik
, X86::VPALIGNRZ256rmik
, 0 },
4753 { X86::VPALIGNRZrrik
, X86::VPALIGNRZrmik
, 0 },
4754 { X86::VPANDDZ128rrk
, X86::VPANDDZ128rmk
, 0 },
4755 { X86::VPANDDZ256rrk
, X86::VPANDDZ256rmk
, 0 },
4756 { X86::VPANDDZrrk
, X86::VPANDDZrmk
, 0 },
4757 { X86::VPANDNDZ128rrk
, X86::VPANDNDZ128rmk
, 0 },
4758 { X86::VPANDNDZ256rrk
, X86::VPANDNDZ256rmk
, 0 },
4759 { X86::VPANDNDZrrk
, X86::VPANDNDZrmk
, 0 },
4760 { X86::VPANDNQZ128rrk
, X86::VPANDNQZ128rmk
, 0 },
4761 { X86::VPANDNQZ256rrk
, X86::VPANDNQZ256rmk
, 0 },
4762 { X86::VPANDNQZrrk
, X86::VPANDNQZrmk
, 0 },
4763 { X86::VPANDQZ128rrk
, X86::VPANDQZ128rmk
, 0 },
4764 { X86::VPANDQZ256rrk
, X86::VPANDQZ256rmk
, 0 },
4765 { X86::VPANDQZrrk
, X86::VPANDQZrmk
, 0 },
4766 { X86::VPAVGBZ128rrk
, X86::VPAVGBZ128rmk
, 0 },
4767 { X86::VPAVGBZ256rrk
, X86::VPAVGBZ256rmk
, 0 },
4768 { X86::VPAVGBZrrk
, X86::VPAVGBZrmk
, 0 },
4769 { X86::VPAVGWZ128rrk
, X86::VPAVGWZ128rmk
, 0 },
4770 { X86::VPAVGWZ256rrk
, X86::VPAVGWZ256rmk
, 0 },
4771 { X86::VPAVGWZrrk
, X86::VPAVGWZrmk
, 0 },
4772 { X86::VPDPBUSDSZ128rk
, X86::VPDPBUSDSZ128mk
, 0 },
4773 { X86::VPDPBUSDSZ128rkz
, X86::VPDPBUSDSZ128mkz
, 0 },
4774 { X86::VPDPBUSDSZ256rk
, X86::VPDPBUSDSZ256mk
, 0 },
4775 { X86::VPDPBUSDSZ256rkz
, X86::VPDPBUSDSZ256mkz
, 0 },
4776 { X86::VPDPBUSDSZrk
, X86::VPDPBUSDSZmk
, 0 },
4777 { X86::VPDPBUSDSZrkz
, X86::VPDPBUSDSZmkz
, 0 },
4778 { X86::VPDPBUSDZ128rk
, X86::VPDPBUSDZ128mk
, 0 },
4779 { X86::VPDPBUSDZ128rkz
, X86::VPDPBUSDZ128mkz
, 0 },
4780 { X86::VPDPBUSDZ256rk
, X86::VPDPBUSDZ256mk
, 0 },
4781 { X86::VPDPBUSDZ256rkz
, X86::VPDPBUSDZ256mkz
, 0 },
4782 { X86::VPDPBUSDZrk
, X86::VPDPBUSDZmk
, 0 },
4783 { X86::VPDPBUSDZrkz
, X86::VPDPBUSDZmkz
, 0 },
4784 { X86::VPDPWSSDSZ128rk
, X86::VPDPWSSDSZ128mk
, 0 },
4785 { X86::VPDPWSSDSZ128rkz
, X86::VPDPWSSDSZ128mkz
, 0 },
4786 { X86::VPDPWSSDSZ256rk
, X86::VPDPWSSDSZ256mk
, 0 },
4787 { X86::VPDPWSSDSZ256rkz
, X86::VPDPWSSDSZ256mkz
, 0 },
4788 { X86::VPDPWSSDSZrk
, X86::VPDPWSSDSZmk
, 0 },
4789 { X86::VPDPWSSDSZrkz
, X86::VPDPWSSDSZmkz
, 0 },
4790 { X86::VPDPWSSDZ128rk
, X86::VPDPWSSDZ128mk
, 0 },
4791 { X86::VPDPWSSDZ128rkz
, X86::VPDPWSSDZ128mkz
, 0 },
4792 { X86::VPDPWSSDZ256rk
, X86::VPDPWSSDZ256mk
, 0 },
4793 { X86::VPDPWSSDZ256rkz
, X86::VPDPWSSDZ256mkz
, 0 },
4794 { X86::VPDPWSSDZrk
, X86::VPDPWSSDZmk
, 0 },
4795 { X86::VPDPWSSDZrkz
, X86::VPDPWSSDZmkz
, 0 },
4796 { X86::VPERMBZ128rrk
, X86::VPERMBZ128rmk
, 0 },
4797 { X86::VPERMBZ256rrk
, X86::VPERMBZ256rmk
, 0 },
4798 { X86::VPERMBZrrk
, X86::VPERMBZrmk
, 0 },
4799 { X86::VPERMDZ256rrk
, X86::VPERMDZ256rmk
, 0 },
4800 { X86::VPERMDZrrk
, X86::VPERMDZrmk
, 0 },
4801 { X86::VPERMI2B128rrk
, X86::VPERMI2B128rmk
, 0 },
4802 { X86::VPERMI2B128rrkz
, X86::VPERMI2B128rmkz
, 0 },
4803 { X86::VPERMI2B256rrk
, X86::VPERMI2B256rmk
, 0 },
4804 { X86::VPERMI2B256rrkz
, X86::VPERMI2B256rmkz
, 0 },
4805 { X86::VPERMI2Brrk
, X86::VPERMI2Brmk
, 0 },
4806 { X86::VPERMI2Brrkz
, X86::VPERMI2Brmkz
, 0 },
4807 { X86::VPERMI2D128rrk
, X86::VPERMI2D128rmk
, 0 },
4808 { X86::VPERMI2D128rrkz
, X86::VPERMI2D128rmkz
, 0 },
4809 { X86::VPERMI2D256rrk
, X86::VPERMI2D256rmk
, 0 },
4810 { X86::VPERMI2D256rrkz
, X86::VPERMI2D256rmkz
, 0 },
4811 { X86::VPERMI2Drrk
, X86::VPERMI2Drmk
, 0 },
4812 { X86::VPERMI2Drrkz
, X86::VPERMI2Drmkz
, 0 },
4813 { X86::VPERMI2PD128rrk
, X86::VPERMI2PD128rmk
, 0 },
4814 { X86::VPERMI2PD128rrkz
, X86::VPERMI2PD128rmkz
, 0 },
4815 { X86::VPERMI2PD256rrk
, X86::VPERMI2PD256rmk
, 0 },
4816 { X86::VPERMI2PD256rrkz
, X86::VPERMI2PD256rmkz
, 0 },
4817 { X86::VPERMI2PDrrk
, X86::VPERMI2PDrmk
, 0 },
4818 { X86::VPERMI2PDrrkz
, X86::VPERMI2PDrmkz
, 0 },
4819 { X86::VPERMI2PS128rrk
, X86::VPERMI2PS128rmk
, 0 },
4820 { X86::VPERMI2PS128rrkz
, X86::VPERMI2PS128rmkz
, 0 },
4821 { X86::VPERMI2PS256rrk
, X86::VPERMI2PS256rmk
, 0 },
4822 { X86::VPERMI2PS256rrkz
, X86::VPERMI2PS256rmkz
, 0 },
4823 { X86::VPERMI2PSrrk
, X86::VPERMI2PSrmk
, 0 },
4824 { X86::VPERMI2PSrrkz
, X86::VPERMI2PSrmkz
, 0 },
4825 { X86::VPERMI2Q128rrk
, X86::VPERMI2Q128rmk
, 0 },
4826 { X86::VPERMI2Q128rrkz
, X86::VPERMI2Q128rmkz
, 0 },
4827 { X86::VPERMI2Q256rrk
, X86::VPERMI2Q256rmk
, 0 },
4828 { X86::VPERMI2Q256rrkz
, X86::VPERMI2Q256rmkz
, 0 },
4829 { X86::VPERMI2Qrrk
, X86::VPERMI2Qrmk
, 0 },
4830 { X86::VPERMI2Qrrkz
, X86::VPERMI2Qrmkz
, 0 },
4831 { X86::VPERMI2W128rrk
, X86::VPERMI2W128rmk
, 0 },
4832 { X86::VPERMI2W128rrkz
, X86::VPERMI2W128rmkz
, 0 },
4833 { X86::VPERMI2W256rrk
, X86::VPERMI2W256rmk
, 0 },
4834 { X86::VPERMI2W256rrkz
, X86::VPERMI2W256rmkz
, 0 },
4835 { X86::VPERMI2Wrrk
, X86::VPERMI2Wrmk
, 0 },
4836 { X86::VPERMI2Wrrkz
, X86::VPERMI2Wrmkz
, 0 },
4837 { X86::VPERMILPDZ128rrk
, X86::VPERMILPDZ128rmk
, 0 },
4838 { X86::VPERMILPDZ256rrk
, X86::VPERMILPDZ256rmk
, 0 },
4839 { X86::VPERMILPDZrrk
, X86::VPERMILPDZrmk
, 0 },
4840 { X86::VPERMILPSZ128rrk
, X86::VPERMILPSZ128rmk
, 0 },
4841 { X86::VPERMILPSZ256rrk
, X86::VPERMILPSZ256rmk
, 0 },
4842 { X86::VPERMILPSZrrk
, X86::VPERMILPSZrmk
, 0 },
4843 { X86::VPERMPDZ256rrk
, X86::VPERMPDZ256rmk
, 0 },
4844 { X86::VPERMPDZrrk
, X86::VPERMPDZrmk
, 0 },
4845 { X86::VPERMPSZ256rrk
, X86::VPERMPSZ256rmk
, 0 },
4846 { X86::VPERMPSZrrk
, X86::VPERMPSZrmk
, 0 },
4847 { X86::VPERMQZ256rrk
, X86::VPERMQZ256rmk
, 0 },
4848 { X86::VPERMQZrrk
, X86::VPERMQZrmk
, 0 },
4849 { X86::VPERMT2B128rrk
, X86::VPERMT2B128rmk
, 0 },
4850 { X86::VPERMT2B128rrkz
, X86::VPERMT2B128rmkz
, 0 },
4851 { X86::VPERMT2B256rrk
, X86::VPERMT2B256rmk
, 0 },
4852 { X86::VPERMT2B256rrkz
, X86::VPERMT2B256rmkz
, 0 },
4853 { X86::VPERMT2Brrk
, X86::VPERMT2Brmk
, 0 },
4854 { X86::VPERMT2Brrkz
, X86::VPERMT2Brmkz
, 0 },
4855 { X86::VPERMT2D128rrk
, X86::VPERMT2D128rmk
, 0 },
4856 { X86::VPERMT2D128rrkz
, X86::VPERMT2D128rmkz
, 0 },
4857 { X86::VPERMT2D256rrk
, X86::VPERMT2D256rmk
, 0 },
4858 { X86::VPERMT2D256rrkz
, X86::VPERMT2D256rmkz
, 0 },
4859 { X86::VPERMT2Drrk
, X86::VPERMT2Drmk
, 0 },
4860 { X86::VPERMT2Drrkz
, X86::VPERMT2Drmkz
, 0 },
4861 { X86::VPERMT2PD128rrk
, X86::VPERMT2PD128rmk
, 0 },
4862 { X86::VPERMT2PD128rrkz
, X86::VPERMT2PD128rmkz
, 0 },
4863 { X86::VPERMT2PD256rrk
, X86::VPERMT2PD256rmk
, 0 },
4864 { X86::VPERMT2PD256rrkz
, X86::VPERMT2PD256rmkz
, 0 },
4865 { X86::VPERMT2PDrrk
, X86::VPERMT2PDrmk
, 0 },
4866 { X86::VPERMT2PDrrkz
, X86::VPERMT2PDrmkz
, 0 },
4867 { X86::VPERMT2PS128rrk
, X86::VPERMT2PS128rmk
, 0 },
4868 { X86::VPERMT2PS128rrkz
, X86::VPERMT2PS128rmkz
, 0 },
4869 { X86::VPERMT2PS256rrk
, X86::VPERMT2PS256rmk
, 0 },
4870 { X86::VPERMT2PS256rrkz
, X86::VPERMT2PS256rmkz
, 0 },
4871 { X86::VPERMT2PSrrk
, X86::VPERMT2PSrmk
, 0 },
4872 { X86::VPERMT2PSrrkz
, X86::VPERMT2PSrmkz
, 0 },
4873 { X86::VPERMT2Q128rrk
, X86::VPERMT2Q128rmk
, 0 },
4874 { X86::VPERMT2Q128rrkz
, X86::VPERMT2Q128rmkz
, 0 },
4875 { X86::VPERMT2Q256rrk
, X86::VPERMT2Q256rmk
, 0 },
4876 { X86::VPERMT2Q256rrkz
, X86::VPERMT2Q256rmkz
, 0 },
4877 { X86::VPERMT2Qrrk
, X86::VPERMT2Qrmk
, 0 },
4878 { X86::VPERMT2Qrrkz
, X86::VPERMT2Qrmkz
, 0 },
4879 { X86::VPERMT2W128rrk
, X86::VPERMT2W128rmk
, 0 },
4880 { X86::VPERMT2W128rrkz
, X86::VPERMT2W128rmkz
, 0 },
4881 { X86::VPERMT2W256rrk
, X86::VPERMT2W256rmk
, 0 },
4882 { X86::VPERMT2W256rrkz
, X86::VPERMT2W256rmkz
, 0 },
4883 { X86::VPERMT2Wrrk
, X86::VPERMT2Wrmk
, 0 },
4884 { X86::VPERMT2Wrrkz
, X86::VPERMT2Wrmkz
, 0 },
4885 { X86::VPERMWZ128rrk
, X86::VPERMWZ128rmk
, 0 },
4886 { X86::VPERMWZ256rrk
, X86::VPERMWZ256rmk
, 0 },
4887 { X86::VPERMWZrrk
, X86::VPERMWZrmk
, 0 },
4888 { X86::VPMADD52HUQZ128rk
, X86::VPMADD52HUQZ128mk
, 0 },
4889 { X86::VPMADD52HUQZ128rkz
, X86::VPMADD52HUQZ128mkz
, 0 },
4890 { X86::VPMADD52HUQZ256rk
, X86::VPMADD52HUQZ256mk
, 0 },
4891 { X86::VPMADD52HUQZ256rkz
, X86::VPMADD52HUQZ256mkz
, 0 },
4892 { X86::VPMADD52HUQZrk
, X86::VPMADD52HUQZmk
, 0 },
4893 { X86::VPMADD52HUQZrkz
, X86::VPMADD52HUQZmkz
, 0 },
4894 { X86::VPMADD52LUQZ128rk
, X86::VPMADD52LUQZ128mk
, 0 },
4895 { X86::VPMADD52LUQZ128rkz
, X86::VPMADD52LUQZ128mkz
, 0 },
4896 { X86::VPMADD52LUQZ256rk
, X86::VPMADD52LUQZ256mk
, 0 },
4897 { X86::VPMADD52LUQZ256rkz
, X86::VPMADD52LUQZ256mkz
, 0 },
4898 { X86::VPMADD52LUQZrk
, X86::VPMADD52LUQZmk
, 0 },
4899 { X86::VPMADD52LUQZrkz
, X86::VPMADD52LUQZmkz
, 0 },
4900 { X86::VPMADDUBSWZ128rrk
, X86::VPMADDUBSWZ128rmk
, 0 },
4901 { X86::VPMADDUBSWZ256rrk
, X86::VPMADDUBSWZ256rmk
, 0 },
4902 { X86::VPMADDUBSWZrrk
, X86::VPMADDUBSWZrmk
, 0 },
4903 { X86::VPMADDWDZ128rrk
, X86::VPMADDWDZ128rmk
, 0 },
4904 { X86::VPMADDWDZ256rrk
, X86::VPMADDWDZ256rmk
, 0 },
4905 { X86::VPMADDWDZrrk
, X86::VPMADDWDZrmk
, 0 },
4906 { X86::VPMAXSBZ128rrk
, X86::VPMAXSBZ128rmk
, 0 },
4907 { X86::VPMAXSBZ256rrk
, X86::VPMAXSBZ256rmk
, 0 },
4908 { X86::VPMAXSBZrrk
, X86::VPMAXSBZrmk
, 0 },
4909 { X86::VPMAXSDZ128rrk
, X86::VPMAXSDZ128rmk
, 0 },
4910 { X86::VPMAXSDZ256rrk
, X86::VPMAXSDZ256rmk
, 0 },
4911 { X86::VPMAXSDZrrk
, X86::VPMAXSDZrmk
, 0 },
4912 { X86::VPMAXSQZ128rrk
, X86::VPMAXSQZ128rmk
, 0 },
4913 { X86::VPMAXSQZ256rrk
, X86::VPMAXSQZ256rmk
, 0 },
4914 { X86::VPMAXSQZrrk
, X86::VPMAXSQZrmk
, 0 },
4915 { X86::VPMAXSWZ128rrk
, X86::VPMAXSWZ128rmk
, 0 },
4916 { X86::VPMAXSWZ256rrk
, X86::VPMAXSWZ256rmk
, 0 },
4917 { X86::VPMAXSWZrrk
, X86::VPMAXSWZrmk
, 0 },
4918 { X86::VPMAXUBZ128rrk
, X86::VPMAXUBZ128rmk
, 0 },
4919 { X86::VPMAXUBZ256rrk
, X86::VPMAXUBZ256rmk
, 0 },
4920 { X86::VPMAXUBZrrk
, X86::VPMAXUBZrmk
, 0 },
4921 { X86::VPMAXUDZ128rrk
, X86::VPMAXUDZ128rmk
, 0 },
4922 { X86::VPMAXUDZ256rrk
, X86::VPMAXUDZ256rmk
, 0 },
4923 { X86::VPMAXUDZrrk
, X86::VPMAXUDZrmk
, 0 },
4924 { X86::VPMAXUQZ128rrk
, X86::VPMAXUQZ128rmk
, 0 },
4925 { X86::VPMAXUQZ256rrk
, X86::VPMAXUQZ256rmk
, 0 },
4926 { X86::VPMAXUQZrrk
, X86::VPMAXUQZrmk
, 0 },
4927 { X86::VPMAXUWZ128rrk
, X86::VPMAXUWZ128rmk
, 0 },
4928 { X86::VPMAXUWZ256rrk
, X86::VPMAXUWZ256rmk
, 0 },
4929 { X86::VPMAXUWZrrk
, X86::VPMAXUWZrmk
, 0 },
4930 { X86::VPMINSBZ128rrk
, X86::VPMINSBZ128rmk
, 0 },
4931 { X86::VPMINSBZ256rrk
, X86::VPMINSBZ256rmk
, 0 },
4932 { X86::VPMINSBZrrk
, X86::VPMINSBZrmk
, 0 },
4933 { X86::VPMINSDZ128rrk
, X86::VPMINSDZ128rmk
, 0 },
4934 { X86::VPMINSDZ256rrk
, X86::VPMINSDZ256rmk
, 0 },
4935 { X86::VPMINSDZrrk
, X86::VPMINSDZrmk
, 0 },
4936 { X86::VPMINSQZ128rrk
, X86::VPMINSQZ128rmk
, 0 },
4937 { X86::VPMINSQZ256rrk
, X86::VPMINSQZ256rmk
, 0 },
4938 { X86::VPMINSQZrrk
, X86::VPMINSQZrmk
, 0 },
4939 { X86::VPMINSWZ128rrk
, X86::VPMINSWZ128rmk
, 0 },
4940 { X86::VPMINSWZ256rrk
, X86::VPMINSWZ256rmk
, 0 },
4941 { X86::VPMINSWZrrk
, X86::VPMINSWZrmk
, 0 },
4942 { X86::VPMINUBZ128rrk
, X86::VPMINUBZ128rmk
, 0 },
4943 { X86::VPMINUBZ256rrk
, X86::VPMINUBZ256rmk
, 0 },
4944 { X86::VPMINUBZrrk
, X86::VPMINUBZrmk
, 0 },
4945 { X86::VPMINUDZ128rrk
, X86::VPMINUDZ128rmk
, 0 },
4946 { X86::VPMINUDZ256rrk
, X86::VPMINUDZ256rmk
, 0 },
4947 { X86::VPMINUDZrrk
, X86::VPMINUDZrmk
, 0 },
4948 { X86::VPMINUQZ128rrk
, X86::VPMINUQZ128rmk
, 0 },
4949 { X86::VPMINUQZ256rrk
, X86::VPMINUQZ256rmk
, 0 },
4950 { X86::VPMINUQZrrk
, X86::VPMINUQZrmk
, 0 },
4951 { X86::VPMINUWZ128rrk
, X86::VPMINUWZ128rmk
, 0 },
4952 { X86::VPMINUWZ256rrk
, X86::VPMINUWZ256rmk
, 0 },
4953 { X86::VPMINUWZrrk
, X86::VPMINUWZrmk
, 0 },
4954 { X86::VPMULDQZ128rrk
, X86::VPMULDQZ128rmk
, 0 },
4955 { X86::VPMULDQZ256rrk
, X86::VPMULDQZ256rmk
, 0 },
4956 { X86::VPMULDQZrrk
, X86::VPMULDQZrmk
, 0 },
4957 { X86::VPMULHRSWZ128rrk
, X86::VPMULHRSWZ128rmk
, 0 },
4958 { X86::VPMULHRSWZ256rrk
, X86::VPMULHRSWZ256rmk
, 0 },
4959 { X86::VPMULHRSWZrrk
, X86::VPMULHRSWZrmk
, 0 },
4960 { X86::VPMULHUWZ128rrk
, X86::VPMULHUWZ128rmk
, 0 },
4961 { X86::VPMULHUWZ256rrk
, X86::VPMULHUWZ256rmk
, 0 },
4962 { X86::VPMULHUWZrrk
, X86::VPMULHUWZrmk
, 0 },
4963 { X86::VPMULHWZ128rrk
, X86::VPMULHWZ128rmk
, 0 },
4964 { X86::VPMULHWZ256rrk
, X86::VPMULHWZ256rmk
, 0 },
4965 { X86::VPMULHWZrrk
, X86::VPMULHWZrmk
, 0 },
4966 { X86::VPMULLDZ128rrk
, X86::VPMULLDZ128rmk
, 0 },
4967 { X86::VPMULLDZ256rrk
, X86::VPMULLDZ256rmk
, 0 },
4968 { X86::VPMULLDZrrk
, X86::VPMULLDZrmk
, 0 },
4969 { X86::VPMULLQZ128rrk
, X86::VPMULLQZ128rmk
, 0 },
4970 { X86::VPMULLQZ256rrk
, X86::VPMULLQZ256rmk
, 0 },
4971 { X86::VPMULLQZrrk
, X86::VPMULLQZrmk
, 0 },
4972 { X86::VPMULLWZ128rrk
, X86::VPMULLWZ128rmk
, 0 },
4973 { X86::VPMULLWZ256rrk
, X86::VPMULLWZ256rmk
, 0 },
4974 { X86::VPMULLWZrrk
, X86::VPMULLWZrmk
, 0 },
4975 { X86::VPMULTISHIFTQBZ128rrk
, X86::VPMULTISHIFTQBZ128rmk
, 0 },
4976 { X86::VPMULTISHIFTQBZ256rrk
, X86::VPMULTISHIFTQBZ256rmk
, 0 },
4977 { X86::VPMULTISHIFTQBZrrk
, X86::VPMULTISHIFTQBZrmk
, 0 },
4978 { X86::VPMULUDQZ128rrk
, X86::VPMULUDQZ128rmk
, 0 },
4979 { X86::VPMULUDQZ256rrk
, X86::VPMULUDQZ256rmk
, 0 },
4980 { X86::VPMULUDQZrrk
, X86::VPMULUDQZrmk
, 0 },
4981 { X86::VPORDZ128rrk
, X86::VPORDZ128rmk
, 0 },
4982 { X86::VPORDZ256rrk
, X86::VPORDZ256rmk
, 0 },
4983 { X86::VPORDZrrk
, X86::VPORDZrmk
, 0 },
4984 { X86::VPORQZ128rrk
, X86::VPORQZ128rmk
, 0 },
4985 { X86::VPORQZ256rrk
, X86::VPORQZ256rmk
, 0 },
4986 { X86::VPORQZrrk
, X86::VPORQZrmk
, 0 },
4987 { X86::VPROLVDZ128rrk
, X86::VPROLVDZ128rmk
, 0 },
4988 { X86::VPROLVDZ256rrk
, X86::VPROLVDZ256rmk
, 0 },
4989 { X86::VPROLVDZrrk
, X86::VPROLVDZrmk
, 0 },
4990 { X86::VPROLVQZ128rrk
, X86::VPROLVQZ128rmk
, 0 },
4991 { X86::VPROLVQZ256rrk
, X86::VPROLVQZ256rmk
, 0 },
4992 { X86::VPROLVQZrrk
, X86::VPROLVQZrmk
, 0 },
4993 { X86::VPRORVDZ128rrk
, X86::VPRORVDZ128rmk
, 0 },
4994 { X86::VPRORVDZ256rrk
, X86::VPRORVDZ256rmk
, 0 },
4995 { X86::VPRORVDZrrk
, X86::VPRORVDZrmk
, 0 },
4996 { X86::VPRORVQZ128rrk
, X86::VPRORVQZ128rmk
, 0 },
4997 { X86::VPRORVQZ256rrk
, X86::VPRORVQZ256rmk
, 0 },
4998 { X86::VPRORVQZrrk
, X86::VPRORVQZrmk
, 0 },
4999 { X86::VPSHLDDZ128rrik
, X86::VPSHLDDZ128rmik
, 0 },
5000 { X86::VPSHLDDZ256rrik
, X86::VPSHLDDZ256rmik
, 0 },
5001 { X86::VPSHLDDZrrik
, X86::VPSHLDDZrmik
, 0 },
5002 { X86::VPSHLDQZ128rrik
, X86::VPSHLDQZ128rmik
, 0 },
5003 { X86::VPSHLDQZ256rrik
, X86::VPSHLDQZ256rmik
, 0 },
5004 { X86::VPSHLDQZrrik
, X86::VPSHLDQZrmik
, 0 },
5005 { X86::VPSHLDVDZ128rk
, X86::VPSHLDVDZ128mk
, 0 },
5006 { X86::VPSHLDVDZ128rkz
, X86::VPSHLDVDZ128mkz
, 0 },
5007 { X86::VPSHLDVDZ256rk
, X86::VPSHLDVDZ256mk
, 0 },
5008 { X86::VPSHLDVDZ256rkz
, X86::VPSHLDVDZ256mkz
, 0 },
5009 { X86::VPSHLDVDZrk
, X86::VPSHLDVDZmk
, 0 },
5010 { X86::VPSHLDVDZrkz
, X86::VPSHLDVDZmkz
, 0 },
5011 { X86::VPSHLDVQZ128rk
, X86::VPSHLDVQZ128mk
, 0 },
5012 { X86::VPSHLDVQZ128rkz
, X86::VPSHLDVQZ128mkz
, 0 },
5013 { X86::VPSHLDVQZ256rk
, X86::VPSHLDVQZ256mk
, 0 },
5014 { X86::VPSHLDVQZ256rkz
, X86::VPSHLDVQZ256mkz
, 0 },
5015 { X86::VPSHLDVQZrk
, X86::VPSHLDVQZmk
, 0 },
5016 { X86::VPSHLDVQZrkz
, X86::VPSHLDVQZmkz
, 0 },
5017 { X86::VPSHLDVWZ128rk
, X86::VPSHLDVWZ128mk
, 0 },
5018 { X86::VPSHLDVWZ128rkz
, X86::VPSHLDVWZ128mkz
, 0 },
5019 { X86::VPSHLDVWZ256rk
, X86::VPSHLDVWZ256mk
, 0 },
5020 { X86::VPSHLDVWZ256rkz
, X86::VPSHLDVWZ256mkz
, 0 },
5021 { X86::VPSHLDVWZrk
, X86::VPSHLDVWZmk
, 0 },
5022 { X86::VPSHLDVWZrkz
, X86::VPSHLDVWZmkz
, 0 },
5023 { X86::VPSHLDWZ128rrik
, X86::VPSHLDWZ128rmik
, 0 },
5024 { X86::VPSHLDWZ256rrik
, X86::VPSHLDWZ256rmik
, 0 },
5025 { X86::VPSHLDWZrrik
, X86::VPSHLDWZrmik
, 0 },
5026 { X86::VPSHRDDZ128rrik
, X86::VPSHRDDZ128rmik
, 0 },
5027 { X86::VPSHRDDZ256rrik
, X86::VPSHRDDZ256rmik
, 0 },
5028 { X86::VPSHRDDZrrik
, X86::VPSHRDDZrmik
, 0 },
5029 { X86::VPSHRDQZ128rrik
, X86::VPSHRDQZ128rmik
, 0 },
5030 { X86::VPSHRDQZ256rrik
, X86::VPSHRDQZ256rmik
, 0 },
5031 { X86::VPSHRDQZrrik
, X86::VPSHRDQZrmik
, 0 },
5032 { X86::VPSHRDVDZ128rk
, X86::VPSHRDVDZ128mk
, 0 },
5033 { X86::VPSHRDVDZ128rkz
, X86::VPSHRDVDZ128mkz
, 0 },
5034 { X86::VPSHRDVDZ256rk
, X86::VPSHRDVDZ256mk
, 0 },
5035 { X86::VPSHRDVDZ256rkz
, X86::VPSHRDVDZ256mkz
, 0 },
5036 { X86::VPSHRDVDZrk
, X86::VPSHRDVDZmk
, 0 },
5037 { X86::VPSHRDVDZrkz
, X86::VPSHRDVDZmkz
, 0 },
5038 { X86::VPSHRDVQZ128rk
, X86::VPSHRDVQZ128mk
, 0 },
5039 { X86::VPSHRDVQZ128rkz
, X86::VPSHRDVQZ128mkz
, 0 },
5040 { X86::VPSHRDVQZ256rk
, X86::VPSHRDVQZ256mk
, 0 },
5041 { X86::VPSHRDVQZ256rkz
, X86::VPSHRDVQZ256mkz
, 0 },
5042 { X86::VPSHRDVQZrk
, X86::VPSHRDVQZmk
, 0 },
5043 { X86::VPSHRDVQZrkz
, X86::VPSHRDVQZmkz
, 0 },
5044 { X86::VPSHRDVWZ128rk
, X86::VPSHRDVWZ128mk
, 0 },
5045 { X86::VPSHRDVWZ128rkz
, X86::VPSHRDVWZ128mkz
, 0 },
5046 { X86::VPSHRDVWZ256rk
, X86::VPSHRDVWZ256mk
, 0 },
5047 { X86::VPSHRDVWZ256rkz
, X86::VPSHRDVWZ256mkz
, 0 },
5048 { X86::VPSHRDVWZrk
, X86::VPSHRDVWZmk
, 0 },
5049 { X86::VPSHRDVWZrkz
, X86::VPSHRDVWZmkz
, 0 },
5050 { X86::VPSHRDWZ128rrik
, X86::VPSHRDWZ128rmik
, 0 },
5051 { X86::VPSHRDWZ256rrik
, X86::VPSHRDWZ256rmik
, 0 },
5052 { X86::VPSHRDWZrrik
, X86::VPSHRDWZrmik
, 0 },
5053 { X86::VPSHUFBZ128rrk
, X86::VPSHUFBZ128rmk
, 0 },
5054 { X86::VPSHUFBZ256rrk
, X86::VPSHUFBZ256rmk
, 0 },
5055 { X86::VPSHUFBZrrk
, X86::VPSHUFBZrmk
, 0 },
5056 { X86::VPSLLDZ128rrk
, X86::VPSLLDZ128rmk
, 0 },
5057 { X86::VPSLLDZ256rrk
, X86::VPSLLDZ256rmk
, 0 },
5058 { X86::VPSLLDZrrk
, X86::VPSLLDZrmk
, 0 },
5059 { X86::VPSLLQZ128rrk
, X86::VPSLLQZ128rmk
, 0 },
5060 { X86::VPSLLQZ256rrk
, X86::VPSLLQZ256rmk
, 0 },
5061 { X86::VPSLLQZrrk
, X86::VPSLLQZrmk
, 0 },
5062 { X86::VPSLLVDZ128rrk
, X86::VPSLLVDZ128rmk
, 0 },
5063 { X86::VPSLLVDZ256rrk
, X86::VPSLLVDZ256rmk
, 0 },
5064 { X86::VPSLLVDZrrk
, X86::VPSLLVDZrmk
, 0 },
5065 { X86::VPSLLVQZ128rrk
, X86::VPSLLVQZ128rmk
, 0 },
5066 { X86::VPSLLVQZ256rrk
, X86::VPSLLVQZ256rmk
, 0 },
5067 { X86::VPSLLVQZrrk
, X86::VPSLLVQZrmk
, 0 },
5068 { X86::VPSLLVWZ128rrk
, X86::VPSLLVWZ128rmk
, 0 },
5069 { X86::VPSLLVWZ256rrk
, X86::VPSLLVWZ256rmk
, 0 },
5070 { X86::VPSLLVWZrrk
, X86::VPSLLVWZrmk
, 0 },
5071 { X86::VPSLLWZ128rrk
, X86::VPSLLWZ128rmk
, 0 },
5072 { X86::VPSLLWZ256rrk
, X86::VPSLLWZ256rmk
, 0 },
5073 { X86::VPSLLWZrrk
, X86::VPSLLWZrmk
, 0 },
5074 { X86::VPSRADZ128rrk
, X86::VPSRADZ128rmk
, 0 },
5075 { X86::VPSRADZ256rrk
, X86::VPSRADZ256rmk
, 0 },
5076 { X86::VPSRADZrrk
, X86::VPSRADZrmk
, 0 },
5077 { X86::VPSRAQZ128rrk
, X86::VPSRAQZ128rmk
, 0 },
5078 { X86::VPSRAQZ256rrk
, X86::VPSRAQZ256rmk
, 0 },
5079 { X86::VPSRAQZrrk
, X86::VPSRAQZrmk
, 0 },
5080 { X86::VPSRAVDZ128rrk
, X86::VPSRAVDZ128rmk
, 0 },
5081 { X86::VPSRAVDZ256rrk
, X86::VPSRAVDZ256rmk
, 0 },
5082 { X86::VPSRAVDZrrk
, X86::VPSRAVDZrmk
, 0 },
5083 { X86::VPSRAVQZ128rrk
, X86::VPSRAVQZ128rmk
, 0 },
5084 { X86::VPSRAVQZ256rrk
, X86::VPSRAVQZ256rmk
, 0 },
5085 { X86::VPSRAVQZrrk
, X86::VPSRAVQZrmk
, 0 },
5086 { X86::VPSRAVWZ128rrk
, X86::VPSRAVWZ128rmk
, 0 },
5087 { X86::VPSRAVWZ256rrk
, X86::VPSRAVWZ256rmk
, 0 },
5088 { X86::VPSRAVWZrrk
, X86::VPSRAVWZrmk
, 0 },
5089 { X86::VPSRAWZ128rrk
, X86::VPSRAWZ128rmk
, 0 },
5090 { X86::VPSRAWZ256rrk
, X86::VPSRAWZ256rmk
, 0 },
5091 { X86::VPSRAWZrrk
, X86::VPSRAWZrmk
, 0 },
5092 { X86::VPSRLDZ128rrk
, X86::VPSRLDZ128rmk
, 0 },
5093 { X86::VPSRLDZ256rrk
, X86::VPSRLDZ256rmk
, 0 },
5094 { X86::VPSRLDZrrk
, X86::VPSRLDZrmk
, 0 },
5095 { X86::VPSRLQZ128rrk
, X86::VPSRLQZ128rmk
, 0 },
5096 { X86::VPSRLQZ256rrk
, X86::VPSRLQZ256rmk
, 0 },
5097 { X86::VPSRLQZrrk
, X86::VPSRLQZrmk
, 0 },
5098 { X86::VPSRLVDZ128rrk
, X86::VPSRLVDZ128rmk
, 0 },
5099 { X86::VPSRLVDZ256rrk
, X86::VPSRLVDZ256rmk
, 0 },
5100 { X86::VPSRLVDZrrk
, X86::VPSRLVDZrmk
, 0 },
5101 { X86::VPSRLVQZ128rrk
, X86::VPSRLVQZ128rmk
, 0 },
5102 { X86::VPSRLVQZ256rrk
, X86::VPSRLVQZ256rmk
, 0 },
5103 { X86::VPSRLVQZrrk
, X86::VPSRLVQZrmk
, 0 },
5104 { X86::VPSRLVWZ128rrk
, X86::VPSRLVWZ128rmk
, 0 },
5105 { X86::VPSRLVWZ256rrk
, X86::VPSRLVWZ256rmk
, 0 },
5106 { X86::VPSRLVWZrrk
, X86::VPSRLVWZrmk
, 0 },
5107 { X86::VPSRLWZ128rrk
, X86::VPSRLWZ128rmk
, 0 },
5108 { X86::VPSRLWZ256rrk
, X86::VPSRLWZ256rmk
, 0 },
5109 { X86::VPSRLWZrrk
, X86::VPSRLWZrmk
, 0 },
5110 { X86::VPSUBBZ128rrk
, X86::VPSUBBZ128rmk
, 0 },
5111 { X86::VPSUBBZ256rrk
, X86::VPSUBBZ256rmk
, 0 },
5112 { X86::VPSUBBZrrk
, X86::VPSUBBZrmk
, 0 },
5113 { X86::VPSUBDZ128rrk
, X86::VPSUBDZ128rmk
, 0 },
5114 { X86::VPSUBDZ256rrk
, X86::VPSUBDZ256rmk
, 0 },
5115 { X86::VPSUBDZrrk
, X86::VPSUBDZrmk
, 0 },
5116 { X86::VPSUBQZ128rrk
, X86::VPSUBQZ128rmk
, 0 },
5117 { X86::VPSUBQZ256rrk
, X86::VPSUBQZ256rmk
, 0 },
5118 { X86::VPSUBQZrrk
, X86::VPSUBQZrmk
, 0 },
5119 { X86::VPSUBSBZ128rrk
, X86::VPSUBSBZ128rmk
, 0 },
5120 { X86::VPSUBSBZ256rrk
, X86::VPSUBSBZ256rmk
, 0 },
5121 { X86::VPSUBSBZrrk
, X86::VPSUBSBZrmk
, 0 },
5122 { X86::VPSUBSWZ128rrk
, X86::VPSUBSWZ128rmk
, 0 },
5123 { X86::VPSUBSWZ256rrk
, X86::VPSUBSWZ256rmk
, 0 },
5124 { X86::VPSUBSWZrrk
, X86::VPSUBSWZrmk
, 0 },
5125 { X86::VPSUBUSBZ128rrk
, X86::VPSUBUSBZ128rmk
, 0 },
5126 { X86::VPSUBUSBZ256rrk
, X86::VPSUBUSBZ256rmk
, 0 },
5127 { X86::VPSUBUSBZrrk
, X86::VPSUBUSBZrmk
, 0 },
5128 { X86::VPSUBUSWZ128rrk
, X86::VPSUBUSWZ128rmk
, 0 },
5129 { X86::VPSUBUSWZ256rrk
, X86::VPSUBUSWZ256rmk
, 0 },
5130 { X86::VPSUBUSWZrrk
, X86::VPSUBUSWZrmk
, 0 },
5131 { X86::VPSUBWZ128rrk
, X86::VPSUBWZ128rmk
, 0 },
5132 { X86::VPSUBWZ256rrk
, X86::VPSUBWZ256rmk
, 0 },
5133 { X86::VPSUBWZrrk
, X86::VPSUBWZrmk
, 0 },
5134 { X86::VPTERNLOGDZ128rrik
, X86::VPTERNLOGDZ128rmik
, 0 },
5135 { X86::VPTERNLOGDZ128rrikz
, X86::VPTERNLOGDZ128rmikz
, 0 },
5136 { X86::VPTERNLOGDZ256rrik
, X86::VPTERNLOGDZ256rmik
, 0 },
5137 { X86::VPTERNLOGDZ256rrikz
, X86::VPTERNLOGDZ256rmikz
, 0 },
5138 { X86::VPTERNLOGDZrrik
, X86::VPTERNLOGDZrmik
, 0 },
5139 { X86::VPTERNLOGDZrrikz
, X86::VPTERNLOGDZrmikz
, 0 },
5140 { X86::VPTERNLOGQZ128rrik
, X86::VPTERNLOGQZ128rmik
, 0 },
5141 { X86::VPTERNLOGQZ128rrikz
, X86::VPTERNLOGQZ128rmikz
, 0 },
5142 { X86::VPTERNLOGQZ256rrik
, X86::VPTERNLOGQZ256rmik
, 0 },
5143 { X86::VPTERNLOGQZ256rrikz
, X86::VPTERNLOGQZ256rmikz
, 0 },
5144 { X86::VPTERNLOGQZrrik
, X86::VPTERNLOGQZrmik
, 0 },
5145 { X86::VPTERNLOGQZrrikz
, X86::VPTERNLOGQZrmikz
, 0 },
5146 { X86::VPUNPCKHBWZ128rrk
, X86::VPUNPCKHBWZ128rmk
, 0 },
5147 { X86::VPUNPCKHBWZ256rrk
, X86::VPUNPCKHBWZ256rmk
, 0 },
5148 { X86::VPUNPCKHBWZrrk
, X86::VPUNPCKHBWZrmk
, 0 },
5149 { X86::VPUNPCKHDQZ128rrk
, X86::VPUNPCKHDQZ128rmk
, 0 },
5150 { X86::VPUNPCKHDQZ256rrk
, X86::VPUNPCKHDQZ256rmk
, 0 },
5151 { X86::VPUNPCKHDQZrrk
, X86::VPUNPCKHDQZrmk
, 0 },
5152 { X86::VPUNPCKHQDQZ128rrk
, X86::VPUNPCKHQDQZ128rmk
, 0 },
5153 { X86::VPUNPCKHQDQZ256rrk
, X86::VPUNPCKHQDQZ256rmk
, 0 },
5154 { X86::VPUNPCKHQDQZrrk
, X86::VPUNPCKHQDQZrmk
, 0 },
5155 { X86::VPUNPCKHWDZ128rrk
, X86::VPUNPCKHWDZ128rmk
, 0 },
5156 { X86::VPUNPCKHWDZ256rrk
, X86::VPUNPCKHWDZ256rmk
, 0 },
5157 { X86::VPUNPCKHWDZrrk
, X86::VPUNPCKHWDZrmk
, 0 },
5158 { X86::VPUNPCKLBWZ128rrk
, X86::VPUNPCKLBWZ128rmk
, 0 },
5159 { X86::VPUNPCKLBWZ256rrk
, X86::VPUNPCKLBWZ256rmk
, 0 },
5160 { X86::VPUNPCKLBWZrrk
, X86::VPUNPCKLBWZrmk
, 0 },
5161 { X86::VPUNPCKLDQZ128rrk
, X86::VPUNPCKLDQZ128rmk
, 0 },
5162 { X86::VPUNPCKLDQZ256rrk
, X86::VPUNPCKLDQZ256rmk
, 0 },
5163 { X86::VPUNPCKLDQZrrk
, X86::VPUNPCKLDQZrmk
, 0 },
5164 { X86::VPUNPCKLQDQZ128rrk
, X86::VPUNPCKLQDQZ128rmk
, 0 },
5165 { X86::VPUNPCKLQDQZ256rrk
, X86::VPUNPCKLQDQZ256rmk
, 0 },
5166 { X86::VPUNPCKLQDQZrrk
, X86::VPUNPCKLQDQZrmk
, 0 },
5167 { X86::VPUNPCKLWDZ128rrk
, X86::VPUNPCKLWDZ128rmk
, 0 },
5168 { X86::VPUNPCKLWDZ256rrk
, X86::VPUNPCKLWDZ256rmk
, 0 },
5169 { X86::VPUNPCKLWDZrrk
, X86::VPUNPCKLWDZrmk
, 0 },
5170 { X86::VPXORDZ128rrk
, X86::VPXORDZ128rmk
, 0 },
5171 { X86::VPXORDZ256rrk
, X86::VPXORDZ256rmk
, 0 },
5172 { X86::VPXORDZrrk
, X86::VPXORDZrmk
, 0 },
5173 { X86::VPXORQZ128rrk
, X86::VPXORQZ128rmk
, 0 },
5174 { X86::VPXORQZ256rrk
, X86::VPXORQZ256rmk
, 0 },
5175 { X86::VPXORQZrrk
, X86::VPXORQZrmk
, 0 },
5176 { X86::VRANGEPDZ128rrik
, X86::VRANGEPDZ128rmik
, 0 },
5177 { X86::VRANGEPDZ256rrik
, X86::VRANGEPDZ256rmik
, 0 },
5178 { X86::VRANGEPDZrrik
, X86::VRANGEPDZrmik
, 0 },
5179 { X86::VRANGEPSZ128rrik
, X86::VRANGEPSZ128rmik
, 0 },
5180 { X86::VRANGEPSZ256rrik
, X86::VRANGEPSZ256rmik
, 0 },
5181 { X86::VRANGEPSZrrik
, X86::VRANGEPSZrmik
, 0 },
5182 { X86::VRANGESDZrrik
, X86::VRANGESDZrmik
, TB_NO_REVERSE
},
5183 { X86::VRANGESSZrrik
, X86::VRANGESSZrmik
, TB_NO_REVERSE
},
5184 { X86::VRCP14SDZrrk
, X86::VRCP14SDZrmk
, TB_NO_REVERSE
},
5185 { X86::VRCP14SSZrrk
, X86::VRCP14SSZrmk
, TB_NO_REVERSE
},
5186 { X86::VRCP28SDZrk
, X86::VRCP28SDZmk
, TB_NO_REVERSE
},
5187 { X86::VRCP28SSZrk
, X86::VRCP28SSZmk
, TB_NO_REVERSE
},
5188 { X86::VREDUCESDZrrik
, X86::VREDUCESDZrmik
, TB_NO_REVERSE
},
5189 { X86::VREDUCESSZrrik
, X86::VREDUCESSZrmik
, TB_NO_REVERSE
},
5190 { X86::VRNDSCALESDZr_Intk
, X86::VRNDSCALESDZm_Intk
, TB_NO_REVERSE
},
5191 { X86::VRNDSCALESSZr_Intk
, X86::VRNDSCALESSZm_Intk
, TB_NO_REVERSE
},
5192 { X86::VRSQRT14SDZrrk
, X86::VRSQRT14SDZrmk
, TB_NO_REVERSE
},
5193 { X86::VRSQRT14SSZrrk
, X86::VRSQRT14SSZrmk
, TB_NO_REVERSE
},
5194 { X86::VRSQRT28SDZrk
, X86::VRSQRT28SDZmk
, TB_NO_REVERSE
},
5195 { X86::VRSQRT28SSZrk
, X86::VRSQRT28SSZmk
, TB_NO_REVERSE
},
5196 { X86::VSCALEFPDZ128rrk
, X86::VSCALEFPDZ128rmk
, 0 },
5197 { X86::VSCALEFPDZ256rrk
, X86::VSCALEFPDZ256rmk
, 0 },
5198 { X86::VSCALEFPDZrrk
, X86::VSCALEFPDZrmk
, 0 },
5199 { X86::VSCALEFPSZ128rrk
, X86::VSCALEFPSZ128rmk
, 0 },
5200 { X86::VSCALEFPSZ256rrk
, X86::VSCALEFPSZ256rmk
, 0 },
5201 { X86::VSCALEFPSZrrk
, X86::VSCALEFPSZrmk
, 0 },
5202 { X86::VSCALEFSDZrrk
, X86::VSCALEFSDZrmk
, TB_NO_REVERSE
},
5203 { X86::VSCALEFSSZrrk
, X86::VSCALEFSSZrmk
, TB_NO_REVERSE
},
5204 { X86::VSHUFF32X4Z256rrik
, X86::VSHUFF32X4Z256rmik
, 0 },
5205 { X86::VSHUFF32X4Zrrik
, X86::VSHUFF32X4Zrmik
, 0 },
5206 { X86::VSHUFF64X2Z256rrik
, X86::VSHUFF64X2Z256rmik
, 0 },
5207 { X86::VSHUFF64X2Zrrik
, X86::VSHUFF64X2Zrmik
, 0 },
5208 { X86::VSHUFI32X4Z256rrik
, X86::VSHUFI32X4Z256rmik
, 0 },
5209 { X86::VSHUFI32X4Zrrik
, X86::VSHUFI32X4Zrmik
, 0 },
5210 { X86::VSHUFI64X2Z256rrik
, X86::VSHUFI64X2Z256rmik
, 0 },
5211 { X86::VSHUFI64X2Zrrik
, X86::VSHUFI64X2Zrmik
, 0 },
5212 { X86::VSHUFPDZ128rrik
, X86::VSHUFPDZ128rmik
, 0 },
5213 { X86::VSHUFPDZ256rrik
, X86::VSHUFPDZ256rmik
, 0 },
5214 { X86::VSHUFPDZrrik
, X86::VSHUFPDZrmik
, 0 },
5215 { X86::VSHUFPSZ128rrik
, X86::VSHUFPSZ128rmik
, 0 },
5216 { X86::VSHUFPSZ256rrik
, X86::VSHUFPSZ256rmik
, 0 },
5217 { X86::VSHUFPSZrrik
, X86::VSHUFPSZrmik
, 0 },
5218 { X86::VSQRTSDZr_Intk
, X86::VSQRTSDZm_Intk
, TB_NO_REVERSE
},
5219 { X86::VSQRTSSZr_Intk
, X86::VSQRTSSZm_Intk
, TB_NO_REVERSE
},
5220 { X86::VSUBPDZ128rrk
, X86::VSUBPDZ128rmk
, 0 },
5221 { X86::VSUBPDZ256rrk
, X86::VSUBPDZ256rmk
, 0 },
5222 { X86::VSUBPDZrrk
, X86::VSUBPDZrmk
, 0 },
5223 { X86::VSUBPSZ128rrk
, X86::VSUBPSZ128rmk
, 0 },
5224 { X86::VSUBPSZ256rrk
, X86::VSUBPSZ256rmk
, 0 },
5225 { X86::VSUBPSZrrk
, X86::VSUBPSZrmk
, 0 },
5226 { X86::VSUBSDZrr_Intk
, X86::VSUBSDZrm_Intk
, TB_NO_REVERSE
},
5227 { X86::VSUBSSZrr_Intk
, X86::VSUBSSZrm_Intk
, TB_NO_REVERSE
},
5228 { X86::VUNPCKHPDZ128rrk
, X86::VUNPCKHPDZ128rmk
, 0 },
5229 { X86::VUNPCKHPDZ256rrk
, X86::VUNPCKHPDZ256rmk
, 0 },
5230 { X86::VUNPCKHPDZrrk
, X86::VUNPCKHPDZrmk
, 0 },
5231 { X86::VUNPCKHPSZ128rrk
, X86::VUNPCKHPSZ128rmk
, 0 },
5232 { X86::VUNPCKHPSZ256rrk
, X86::VUNPCKHPSZ256rmk
, 0 },
5233 { X86::VUNPCKHPSZrrk
, X86::VUNPCKHPSZrmk
, 0 },
5234 { X86::VUNPCKLPDZ128rrk
, X86::VUNPCKLPDZ128rmk
, 0 },
5235 { X86::VUNPCKLPDZ256rrk
, X86::VUNPCKLPDZ256rmk
, 0 },
5236 { X86::VUNPCKLPDZrrk
, X86::VUNPCKLPDZrmk
, 0 },
5237 { X86::VUNPCKLPSZ128rrk
, X86::VUNPCKLPSZ128rmk
, 0 },
5238 { X86::VUNPCKLPSZ256rrk
, X86::VUNPCKLPSZ256rmk
, 0 },
5239 { X86::VUNPCKLPSZrrk
, X86::VUNPCKLPSZrmk
, 0 },
5240 { X86::VXORPDZ128rrk
, X86::VXORPDZ128rmk
, 0 },
5241 { X86::VXORPDZ256rrk
, X86::VXORPDZ256rmk
, 0 },
5242 { X86::VXORPDZrrk
, X86::VXORPDZrmk
, 0 },
5243 { X86::VXORPSZ128rrk
, X86::VXORPSZ128rmk
, 0 },
5244 { X86::VXORPSZ256rrk
, X86::VXORPSZ256rmk
, 0 },
5245 { X86::VXORPSZrrk
, X86::VXORPSZrmk
, 0 },
5248 static const X86MemoryFoldTableEntry BroadcastFoldTable2
[] = {
5249 { X86::VADDPDZ128rr
, X86::VADDPDZ128rmb
, TB_BCAST_SD
},
5250 { X86::VADDPDZ256rr
, X86::VADDPDZ256rmb
, TB_BCAST_SD
},
5251 { X86::VADDPDZrr
, X86::VADDPDZrmb
, TB_BCAST_SD
},
5252 { X86::VADDPSZ128rr
, X86::VADDPSZ128rmb
, TB_BCAST_SS
},
5253 { X86::VADDPSZ256rr
, X86::VADDPSZ256rmb
, TB_BCAST_SS
},
5254 { X86::VADDPSZrr
, X86::VADDPSZrmb
, TB_BCAST_SS
},
5255 { X86::VCMPPDZ128rri
, X86::VCMPPDZ128rmbi
, TB_BCAST_SD
},
5256 { X86::VCMPPDZ256rri
, X86::VCMPPDZ256rmbi
, TB_BCAST_SD
},
5257 { X86::VCMPPDZrri
, X86::VCMPPDZrmbi
, TB_BCAST_SD
},
5258 { X86::VCMPPSZ128rri
, X86::VCMPPSZ128rmbi
, TB_BCAST_SS
},
5259 { X86::VCMPPSZ256rri
, X86::VCMPPSZ256rmbi
, TB_BCAST_SS
},
5260 { X86::VCMPPSZrri
, X86::VCMPPSZrmbi
, TB_BCAST_SS
},
5261 { X86::VDIVPDZ128rr
, X86::VDIVPDZ128rmb
, TB_BCAST_SD
},
5262 { X86::VDIVPDZ256rr
, X86::VDIVPDZ256rmb
, TB_BCAST_SD
},
5263 { X86::VDIVPDZrr
, X86::VDIVPDZrmb
, TB_BCAST_SD
},
5264 { X86::VDIVPSZ128rr
, X86::VDIVPSZ128rmb
, TB_BCAST_SS
},
5265 { X86::VDIVPSZ256rr
, X86::VDIVPSZ256rmb
, TB_BCAST_SS
},
5266 { X86::VDIVPSZrr
, X86::VDIVPSZrmb
, TB_BCAST_SS
},
5267 { X86::VMAXCPDZ128rr
, X86::VMAXCPDZ128rmb
, TB_BCAST_SD
},
5268 { X86::VMAXCPDZ256rr
, X86::VMAXCPDZ256rmb
, TB_BCAST_SD
},
5269 { X86::VMAXCPDZrr
, X86::VMAXCPDZrmb
, TB_BCAST_SD
},
5270 { X86::VMAXCPSZ128rr
, X86::VMAXCPSZ128rmb
, TB_BCAST_SS
},
5271 { X86::VMAXCPSZ256rr
, X86::VMAXCPSZ256rmb
, TB_BCAST_SS
},
5272 { X86::VMAXCPSZrr
, X86::VMAXCPSZrmb
, TB_BCAST_SS
},
5273 { X86::VMAXPDZ128rr
, X86::VMAXPDZ128rmb
, TB_BCAST_SD
},
5274 { X86::VMAXPDZ256rr
, X86::VMAXPDZ256rmb
, TB_BCAST_SD
},
5275 { X86::VMAXPDZrr
, X86::VMAXPDZrmb
, TB_BCAST_SD
},
5276 { X86::VMAXPSZ128rr
, X86::VMAXPSZ128rmb
, TB_BCAST_SS
},
5277 { X86::VMAXPSZ256rr
, X86::VMAXPSZ256rmb
, TB_BCAST_SS
},
5278 { X86::VMAXPSZrr
, X86::VMAXPSZrmb
, TB_BCAST_SS
},
5279 { X86::VMINCPDZ128rr
, X86::VMINCPDZ128rmb
, TB_BCAST_SD
},
5280 { X86::VMINCPDZ256rr
, X86::VMINCPDZ256rmb
, TB_BCAST_SD
},
5281 { X86::VMINCPDZrr
, X86::VMINCPDZrmb
, TB_BCAST_SD
},
5282 { X86::VMINCPSZ128rr
, X86::VMINCPSZ128rmb
, TB_BCAST_SS
},
5283 { X86::VMINCPSZ256rr
, X86::VMINCPSZ256rmb
, TB_BCAST_SS
},
5284 { X86::VMINCPSZrr
, X86::VMINCPSZrmb
, TB_BCAST_SS
},
5285 { X86::VMINPDZ128rr
, X86::VMINPDZ128rmb
, TB_BCAST_SD
},
5286 { X86::VMINPDZ256rr
, X86::VMINPDZ256rmb
, TB_BCAST_SD
},
5287 { X86::VMINPDZrr
, X86::VMINPDZrmb
, TB_BCAST_SD
},
5288 { X86::VMINPSZ128rr
, X86::VMINPSZ128rmb
, TB_BCAST_SS
},
5289 { X86::VMINPSZ256rr
, X86::VMINPSZ256rmb
, TB_BCAST_SS
},
5290 { X86::VMINPSZrr
, X86::VMINPSZrmb
, TB_BCAST_SS
},
5291 { X86::VMULPDZ128rr
, X86::VMULPDZ128rmb
, TB_BCAST_SD
},
5292 { X86::VMULPDZ256rr
, X86::VMULPDZ256rmb
, TB_BCAST_SD
},
5293 { X86::VMULPDZrr
, X86::VMULPDZrmb
, TB_BCAST_SD
},
5294 { X86::VMULPSZ128rr
, X86::VMULPSZ128rmb
, TB_BCAST_SS
},
5295 { X86::VMULPSZ256rr
, X86::VMULPSZ256rmb
, TB_BCAST_SS
},
5296 { X86::VMULPSZrr
, X86::VMULPSZrmb
, TB_BCAST_SS
},
5297 { X86::VPADDDZ128rr
, X86::VPADDDZ128rmb
, TB_BCAST_D
},
5298 { X86::VPADDDZ256rr
, X86::VPADDDZ256rmb
, TB_BCAST_D
},
5299 { X86::VPADDDZrr
, X86::VPADDDZrmb
, TB_BCAST_D
},
5300 { X86::VPADDQZ128rr
, X86::VPADDQZ128rmb
, TB_BCAST_Q
},
5301 { X86::VPADDQZ256rr
, X86::VPADDQZ256rmb
, TB_BCAST_Q
},
5302 { X86::VPADDQZrr
, X86::VPADDQZrmb
, TB_BCAST_Q
},
5303 { X86::VPANDDZ128rr
, X86::VPANDDZ128rmb
, TB_BCAST_D
},
5304 { X86::VPANDDZ256rr
, X86::VPANDDZ256rmb
, TB_BCAST_D
},
5305 { X86::VPANDDZrr
, X86::VPANDDZrmb
, TB_BCAST_D
},
5306 { X86::VPANDNDZ128rr
, X86::VPANDNDZ128rmb
, TB_BCAST_D
},
5307 { X86::VPANDNDZ256rr
, X86::VPANDNDZ256rmb
, TB_BCAST_D
},
5308 { X86::VPANDNDZrr
, X86::VPANDNDZrmb
, TB_BCAST_D
},
5309 { X86::VPANDNQZ128rr
, X86::VPANDNQZ128rmb
, TB_BCAST_Q
},
5310 { X86::VPANDNQZ256rr
, X86::VPANDNQZ256rmb
, TB_BCAST_Q
},
5311 { X86::VPANDNQZrr
, X86::VPANDNQZrmb
, TB_BCAST_Q
},
5312 { X86::VPANDQZ128rr
, X86::VPANDQZ128rmb
, TB_BCAST_Q
},
5313 { X86::VPANDQZ256rr
, X86::VPANDQZ256rmb
, TB_BCAST_Q
},
5314 { X86::VPANDQZrr
, X86::VPANDQZrmb
, TB_BCAST_Q
},
5315 { X86::VPCMPDZ128rri
, X86::VPCMPDZ128rmib
, TB_BCAST_D
},
5316 { X86::VPCMPDZ256rri
, X86::VPCMPDZ256rmib
, TB_BCAST_D
},
5317 { X86::VPCMPDZrri
, X86::VPCMPDZrmib
, TB_BCAST_D
},
5318 { X86::VPCMPEQDZ128rr
, X86::VPCMPEQDZ128rmb
, TB_BCAST_D
},
5319 { X86::VPCMPEQDZ256rr
, X86::VPCMPEQDZ256rmb
, TB_BCAST_D
},
5320 { X86::VPCMPEQDZrr
, X86::VPCMPEQDZrmb
, TB_BCAST_D
},
5321 { X86::VPCMPEQQZ128rr
, X86::VPCMPEQQZ128rmb
, TB_BCAST_Q
},
5322 { X86::VPCMPEQQZ256rr
, X86::VPCMPEQQZ256rmb
, TB_BCAST_Q
},
5323 { X86::VPCMPEQQZrr
, X86::VPCMPEQQZrmb
, TB_BCAST_Q
},
5324 { X86::VPCMPGTDZ128rr
, X86::VPCMPGTDZ128rmb
, TB_BCAST_D
},
5325 { X86::VPCMPGTDZ256rr
, X86::VPCMPGTDZ256rmb
, TB_BCAST_D
},
5326 { X86::VPCMPGTDZrr
, X86::VPCMPGTDZrmb
, TB_BCAST_D
},
5327 { X86::VPCMPGTQZ128rr
, X86::VPCMPGTQZ128rmb
, TB_BCAST_Q
},
5328 { X86::VPCMPGTQZ256rr
, X86::VPCMPGTQZ256rmb
, TB_BCAST_Q
},
5329 { X86::VPCMPGTQZrr
, X86::VPCMPGTQZrmb
, TB_BCAST_Q
},
5330 { X86::VPCMPQZ128rri
, X86::VPCMPQZ128rmib
, TB_BCAST_Q
},
5331 { X86::VPCMPQZ256rri
, X86::VPCMPQZ256rmib
, TB_BCAST_Q
},
5332 { X86::VPCMPQZrri
, X86::VPCMPQZrmib
, TB_BCAST_Q
},
5333 { X86::VPCMPUDZ128rri
, X86::VPCMPUDZ128rmib
, TB_BCAST_D
},
5334 { X86::VPCMPUDZ256rri
, X86::VPCMPUDZ256rmib
, TB_BCAST_D
},
5335 { X86::VPCMPUDZrri
, X86::VPCMPUDZrmib
, TB_BCAST_D
},
5336 { X86::VPCMPUQZ128rri
, X86::VPCMPUQZ128rmib
, TB_BCAST_Q
},
5337 { X86::VPCMPUQZ256rri
, X86::VPCMPUQZ256rmib
, TB_BCAST_Q
},
5338 { X86::VPCMPUQZrri
, X86::VPCMPUQZrmib
, TB_BCAST_Q
},
5339 { X86::VPMAXSDZ128rr
, X86::VPMAXSDZ128rmb
, TB_BCAST_D
},
5340 { X86::VPMAXSDZ256rr
, X86::VPMAXSDZ256rmb
, TB_BCAST_D
},
5341 { X86::VPMAXSDZrr
, X86::VPMAXSDZrmb
, TB_BCAST_D
},
5342 { X86::VPMAXSQZ128rr
, X86::VPMAXSQZ128rmb
, TB_BCAST_Q
},
5343 { X86::VPMAXSQZ256rr
, X86::VPMAXSQZ256rmb
, TB_BCAST_Q
},
5344 { X86::VPMAXSQZrr
, X86::VPMAXSQZrmb
, TB_BCAST_Q
},
5345 { X86::VPMAXUDZ128rr
, X86::VPMAXUDZ128rmb
, TB_BCAST_D
},
5346 { X86::VPMAXUDZ256rr
, X86::VPMAXUDZ256rmb
, TB_BCAST_D
},
5347 { X86::VPMAXUDZrr
, X86::VPMAXUDZrmb
, TB_BCAST_D
},
5348 { X86::VPMAXUQZ128rr
, X86::VPMAXUQZ128rmb
, TB_BCAST_Q
},
5349 { X86::VPMAXUQZ256rr
, X86::VPMAXUQZ256rmb
, TB_BCAST_Q
},
5350 { X86::VPMAXUQZrr
, X86::VPMAXUQZrmb
, TB_BCAST_Q
},
5351 { X86::VPMINSDZ128rr
, X86::VPMINSDZ128rmb
, TB_BCAST_D
},
5352 { X86::VPMINSDZ256rr
, X86::VPMINSDZ256rmb
, TB_BCAST_D
},
5353 { X86::VPMINSDZrr
, X86::VPMINSDZrmb
, TB_BCAST_D
},
5354 { X86::VPMINSQZ128rr
, X86::VPMINSQZ128rmb
, TB_BCAST_Q
},
5355 { X86::VPMINSQZ256rr
, X86::VPMINSQZ256rmb
, TB_BCAST_Q
},
5356 { X86::VPMINSQZrr
, X86::VPMINSQZrmb
, TB_BCAST_Q
},
5357 { X86::VPMINUDZ128rr
, X86::VPMINUDZ128rmb
, TB_BCAST_D
},
5358 { X86::VPMINUDZ256rr
, X86::VPMINUDZ256rmb
, TB_BCAST_D
},
5359 { X86::VPMINUDZrr
, X86::VPMINUDZrmb
, TB_BCAST_D
},
5360 { X86::VPMINUQZ128rr
, X86::VPMINUQZ128rmb
, TB_BCAST_Q
},
5361 { X86::VPMINUQZ256rr
, X86::VPMINUQZ256rmb
, TB_BCAST_Q
},
5362 { X86::VPMINUQZrr
, X86::VPMINUQZrmb
, TB_BCAST_Q
},
5363 { X86::VPMULLDZ128rr
, X86::VPMULLDZ128rmb
, TB_BCAST_D
},
5364 { X86::VPMULLDZ256rr
, X86::VPMULLDZ256rmb
, TB_BCAST_D
},
5365 { X86::VPMULLDZrr
, X86::VPMULLDZrmb
, TB_BCAST_D
},
5366 { X86::VPMULLQZ128rr
, X86::VPMULLQZ128rmb
, TB_BCAST_Q
},
5367 { X86::VPMULLQZ256rr
, X86::VPMULLQZ256rmb
, TB_BCAST_Q
},
5368 { X86::VPMULLQZrr
, X86::VPMULLQZrmb
, TB_BCAST_Q
},
5369 { X86::VPORDZ128rr
, X86::VPORDZ128rmb
, TB_BCAST_D
},
5370 { X86::VPORDZ256rr
, X86::VPORDZ256rmb
, TB_BCAST_D
},
5371 { X86::VPORDZrr
, X86::VPORDZrmb
, TB_BCAST_D
},
5372 { X86::VPORQZ128rr
, X86::VPORQZ128rmb
, TB_BCAST_Q
},
5373 { X86::VPORQZ256rr
, X86::VPORQZ256rmb
, TB_BCAST_Q
},
5374 { X86::VPORQZrr
, X86::VPORQZrmb
, TB_BCAST_Q
},
5375 { X86::VPXORDZ128rr
, X86::VPXORDZ128rmb
, TB_BCAST_D
},
5376 { X86::VPXORDZ256rr
, X86::VPXORDZ256rmb
, TB_BCAST_D
},
5377 { X86::VPXORDZrr
, X86::VPXORDZrmb
, TB_BCAST_D
},
5378 { X86::VPXORQZ128rr
, X86::VPXORQZ128rmb
, TB_BCAST_Q
},
5379 { X86::VPXORQZ256rr
, X86::VPXORQZ256rmb
, TB_BCAST_Q
},
5380 { X86::VPXORQZrr
, X86::VPXORQZrmb
, TB_BCAST_Q
},
5381 { X86::VSUBPDZ128rr
, X86::VSUBPDZ128rmb
, TB_BCAST_SD
},
5382 { X86::VSUBPDZ256rr
, X86::VSUBPDZ256rmb
, TB_BCAST_SD
},
5383 { X86::VSUBPDZrr
, X86::VSUBPDZrmb
, TB_BCAST_SD
},
5384 { X86::VSUBPSZ128rr
, X86::VSUBPSZ128rmb
, TB_BCAST_SS
},
5385 { X86::VSUBPSZ256rr
, X86::VSUBPSZ256rmb
, TB_BCAST_SS
},
5386 { X86::VSUBPSZrr
, X86::VSUBPSZrmb
, TB_BCAST_SS
},
5389 static const X86MemoryFoldTableEntry BroadcastFoldTable3
[] = {
5390 { X86::VFMADD132PDZ128r
, X86::VFMADD132PDZ128mb
, TB_BCAST_SD
},
5391 { X86::VFMADD132PDZ256r
, X86::VFMADD132PDZ256mb
, TB_BCAST_SD
},
5392 { X86::VFMADD132PDZr
, X86::VFMADD132PDZmb
, TB_BCAST_SD
},
5393 { X86::VFMADD132PSZ128r
, X86::VFMADD132PSZ128mb
, TB_BCAST_SS
},
5394 { X86::VFMADD132PSZ256r
, X86::VFMADD132PSZ256mb
, TB_BCAST_SS
},
5395 { X86::VFMADD132PSZr
, X86::VFMADD132PSZmb
, TB_BCAST_SS
},
5396 { X86::VFMADD213PDZ128r
, X86::VFMADD213PDZ128mb
, TB_BCAST_SD
},
5397 { X86::VFMADD213PDZ256r
, X86::VFMADD213PDZ256mb
, TB_BCAST_SD
},
5398 { X86::VFMADD213PDZr
, X86::VFMADD213PDZmb
, TB_BCAST_SD
},
5399 { X86::VFMADD213PSZ128r
, X86::VFMADD213PSZ128mb
, TB_BCAST_SS
},
5400 { X86::VFMADD213PSZ256r
, X86::VFMADD213PSZ256mb
, TB_BCAST_SS
},
5401 { X86::VFMADD213PSZr
, X86::VFMADD213PSZmb
, TB_BCAST_SS
},
5402 { X86::VFMADD231PDZ128r
, X86::VFMADD231PDZ128mb
, TB_BCAST_SD
},
5403 { X86::VFMADD231PDZ256r
, X86::VFMADD231PDZ256mb
, TB_BCAST_SD
},
5404 { X86::VFMADD231PDZr
, X86::VFMADD231PDZmb
, TB_BCAST_SD
},
5405 { X86::VFMADD231PSZ128r
, X86::VFMADD231PSZ128mb
, TB_BCAST_SS
},
5406 { X86::VFMADD231PSZ256r
, X86::VFMADD231PSZ256mb
, TB_BCAST_SS
},
5407 { X86::VFMADD231PSZr
, X86::VFMADD231PSZmb
, TB_BCAST_SS
},
5408 { X86::VFMADDSUB132PDZ128r
, X86::VFMADDSUB132PDZ128mb
, TB_BCAST_SD
},
5409 { X86::VFMADDSUB132PDZ256r
, X86::VFMADDSUB132PDZ256mb
, TB_BCAST_SD
},
5410 { X86::VFMADDSUB132PDZr
, X86::VFMADDSUB132PDZmb
, TB_BCAST_SD
},
5411 { X86::VFMADDSUB132PSZ128r
, X86::VFMADDSUB132PSZ128mb
, TB_BCAST_SS
},
5412 { X86::VFMADDSUB132PSZ256r
, X86::VFMADDSUB132PSZ256mb
, TB_BCAST_SS
},
5413 { X86::VFMADDSUB132PSZr
, X86::VFMADDSUB132PSZmb
, TB_BCAST_SS
},
5414 { X86::VFMADDSUB213PDZ128r
, X86::VFMADDSUB213PDZ128mb
, TB_BCAST_SD
},
5415 { X86::VFMADDSUB213PDZ256r
, X86::VFMADDSUB213PDZ256mb
, TB_BCAST_SD
},
5416 { X86::VFMADDSUB213PDZr
, X86::VFMADDSUB213PDZmb
, TB_BCAST_SD
},
5417 { X86::VFMADDSUB213PSZ128r
, X86::VFMADDSUB213PSZ128mb
, TB_BCAST_SS
},
5418 { X86::VFMADDSUB213PSZ256r
, X86::VFMADDSUB213PSZ256mb
, TB_BCAST_SS
},
5419 { X86::VFMADDSUB213PSZr
, X86::VFMADDSUB213PSZmb
, TB_BCAST_SS
},
5420 { X86::VFMADDSUB231PDZ128r
, X86::VFMADDSUB231PDZ128mb
, TB_BCAST_SD
},
5421 { X86::VFMADDSUB231PDZ256r
, X86::VFMADDSUB231PDZ256mb
, TB_BCAST_SD
},
5422 { X86::VFMADDSUB231PDZr
, X86::VFMADDSUB231PDZmb
, TB_BCAST_SD
},
5423 { X86::VFMADDSUB231PSZ128r
, X86::VFMADDSUB231PSZ128mb
, TB_BCAST_SS
},
5424 { X86::VFMADDSUB231PSZ256r
, X86::VFMADDSUB231PSZ256mb
, TB_BCAST_SS
},
5425 { X86::VFMADDSUB231PSZr
, X86::VFMADDSUB231PSZmb
, TB_BCAST_SS
},
5426 { X86::VFMSUB132PDZ128r
, X86::VFMSUB132PDZ128mb
, TB_BCAST_SD
},
5427 { X86::VFMSUB132PDZ256r
, X86::VFMSUB132PDZ256mb
, TB_BCAST_SD
},
5428 { X86::VFMSUB132PDZr
, X86::VFMSUB132PDZmb
, TB_BCAST_SD
},
5429 { X86::VFMSUB132PSZ128r
, X86::VFMSUB132PSZ128mb
, TB_BCAST_SS
},
5430 { X86::VFMSUB132PSZ256r
, X86::VFMSUB132PSZ256mb
, TB_BCAST_SS
},
5431 { X86::VFMSUB132PSZr
, X86::VFMSUB132PSZmb
, TB_BCAST_SS
},
5432 { X86::VFMSUB213PDZ128r
, X86::VFMSUB213PDZ128mb
, TB_BCAST_SD
},
5433 { X86::VFMSUB213PDZ256r
, X86::VFMSUB213PDZ256mb
, TB_BCAST_SD
},
5434 { X86::VFMSUB213PDZr
, X86::VFMSUB213PDZmb
, TB_BCAST_SD
},
5435 { X86::VFMSUB213PSZ128r
, X86::VFMSUB213PSZ128mb
, TB_BCAST_SS
},
5436 { X86::VFMSUB213PSZ256r
, X86::VFMSUB213PSZ256mb
, TB_BCAST_SS
},
5437 { X86::VFMSUB213PSZr
, X86::VFMSUB213PSZmb
, TB_BCAST_SS
},
5438 { X86::VFMSUB231PDZ128r
, X86::VFMSUB231PDZ128mb
, TB_BCAST_SD
},
5439 { X86::VFMSUB231PDZ256r
, X86::VFMSUB231PDZ256mb
, TB_BCAST_SD
},
5440 { X86::VFMSUB231PDZr
, X86::VFMSUB231PDZmb
, TB_BCAST_SD
},
5441 { X86::VFMSUB231PSZ128r
, X86::VFMSUB231PSZ128mb
, TB_BCAST_SS
},
5442 { X86::VFMSUB231PSZ256r
, X86::VFMSUB231PSZ256mb
, TB_BCAST_SS
},
5443 { X86::VFMSUB231PSZr
, X86::VFMSUB231PSZmb
, TB_BCAST_SS
},
5444 { X86::VFMSUBADD132PDZ128r
, X86::VFMSUBADD132PDZ128mb
, TB_BCAST_SD
},
5445 { X86::VFMSUBADD132PDZ256r
, X86::VFMSUBADD132PDZ256mb
, TB_BCAST_SD
},
5446 { X86::VFMSUBADD132PDZr
, X86::VFMSUBADD132PDZmb
, TB_BCAST_SD
},
5447 { X86::VFMSUBADD132PSZ128r
, X86::VFMSUBADD132PSZ128mb
, TB_BCAST_SS
},
5448 { X86::VFMSUBADD132PSZ256r
, X86::VFMSUBADD132PSZ256mb
, TB_BCAST_SS
},
5449 { X86::VFMSUBADD132PSZr
, X86::VFMSUBADD132PSZmb
, TB_BCAST_SS
},
5450 { X86::VFMSUBADD213PDZ128r
, X86::VFMSUBADD213PDZ128mb
, TB_BCAST_SD
},
5451 { X86::VFMSUBADD213PDZ256r
, X86::VFMSUBADD213PDZ256mb
, TB_BCAST_SD
},
5452 { X86::VFMSUBADD213PDZr
, X86::VFMSUBADD213PDZmb
, TB_BCAST_SD
},
5453 { X86::VFMSUBADD213PSZ128r
, X86::VFMSUBADD213PSZ128mb
, TB_BCAST_SS
},
5454 { X86::VFMSUBADD213PSZ256r
, X86::VFMSUBADD213PSZ256mb
, TB_BCAST_SS
},
5455 { X86::VFMSUBADD213PSZr
, X86::VFMSUBADD213PSZmb
, TB_BCAST_SS
},
5456 { X86::VFMSUBADD231PDZ128r
, X86::VFMSUBADD231PDZ128mb
, TB_BCAST_SD
},
5457 { X86::VFMSUBADD231PDZ256r
, X86::VFMSUBADD231PDZ256mb
, TB_BCAST_SD
},
5458 { X86::VFMSUBADD231PDZr
, X86::VFMSUBADD231PDZmb
, TB_BCAST_SD
},
5459 { X86::VFMSUBADD231PSZ128r
, X86::VFMSUBADD231PSZ128mb
, TB_BCAST_SS
},
5460 { X86::VFMSUBADD231PSZ256r
, X86::VFMSUBADD231PSZ256mb
, TB_BCAST_SS
},
5461 { X86::VFMSUBADD231PSZr
, X86::VFMSUBADD231PSZmb
, TB_BCAST_SS
},
5462 { X86::VFNMADD132PDZ128r
, X86::VFNMADD132PDZ128mb
, TB_BCAST_SD
},
5463 { X86::VFNMADD132PDZ256r
, X86::VFNMADD132PDZ256mb
, TB_BCAST_SD
},
5464 { X86::VFNMADD132PDZr
, X86::VFNMADD132PDZmb
, TB_BCAST_SD
},
5465 { X86::VFNMADD132PSZ128r
, X86::VFNMADD132PSZ128mb
, TB_BCAST_SS
},
5466 { X86::VFNMADD132PSZ256r
, X86::VFNMADD132PSZ256mb
, TB_BCAST_SS
},
5467 { X86::VFNMADD132PSZr
, X86::VFNMADD132PSZmb
, TB_BCAST_SS
},
5468 { X86::VFNMADD213PDZ128r
, X86::VFNMADD213PDZ128mb
, TB_BCAST_SD
},
5469 { X86::VFNMADD213PDZ256r
, X86::VFNMADD213PDZ256mb
, TB_BCAST_SD
},
5470 { X86::VFNMADD213PDZr
, X86::VFNMADD213PDZmb
, TB_BCAST_SD
},
5471 { X86::VFNMADD213PSZ128r
, X86::VFNMADD213PSZ128mb
, TB_BCAST_SS
},
5472 { X86::VFNMADD213PSZ256r
, X86::VFNMADD213PSZ256mb
, TB_BCAST_SS
},
5473 { X86::VFNMADD213PSZr
, X86::VFNMADD213PSZmb
, TB_BCAST_SS
},
5474 { X86::VFNMADD231PDZ128r
, X86::VFNMADD231PDZ128mb
, TB_BCAST_SD
},
5475 { X86::VFNMADD231PDZ256r
, X86::VFNMADD231PDZ256mb
, TB_BCAST_SD
},
5476 { X86::VFNMADD231PDZr
, X86::VFNMADD231PDZmb
, TB_BCAST_SD
},
5477 { X86::VFNMADD231PSZ128r
, X86::VFNMADD231PSZ128mb
, TB_BCAST_SS
},
5478 { X86::VFNMADD231PSZ256r
, X86::VFNMADD231PSZ256mb
, TB_BCAST_SS
},
5479 { X86::VFNMADD231PSZr
, X86::VFNMADD231PSZmb
, TB_BCAST_SS
},
5480 { X86::VFNMSUB132PDZ128r
, X86::VFNMSUB132PDZ128mb
, TB_BCAST_SD
},
5481 { X86::VFNMSUB132PDZ256r
, X86::VFNMSUB132PDZ256mb
, TB_BCAST_SD
},
5482 { X86::VFNMSUB132PDZr
, X86::VFNMSUB132PDZmb
, TB_BCAST_SD
},
5483 { X86::VFNMSUB132PSZ128r
, X86::VFNMSUB132PSZ128mb
, TB_BCAST_SS
},
5484 { X86::VFNMSUB132PSZ256r
, X86::VFNMSUB132PSZ256mb
, TB_BCAST_SS
},
5485 { X86::VFNMSUB132PSZr
, X86::VFNMSUB132PSZmb
, TB_BCAST_SS
},
5486 { X86::VFNMSUB213PDZ128r
, X86::VFNMSUB213PDZ128mb
, TB_BCAST_SD
},
5487 { X86::VFNMSUB213PDZ256r
, X86::VFNMSUB213PDZ256mb
, TB_BCAST_SD
},
5488 { X86::VFNMSUB213PDZr
, X86::VFNMSUB213PDZmb
, TB_BCAST_SD
},
5489 { X86::VFNMSUB213PSZ128r
, X86::VFNMSUB213PSZ128mb
, TB_BCAST_SS
},
5490 { X86::VFNMSUB213PSZ256r
, X86::VFNMSUB213PSZ256mb
, TB_BCAST_SS
},
5491 { X86::VFNMSUB213PSZr
, X86::VFNMSUB213PSZmb
, TB_BCAST_SS
},
5492 { X86::VFNMSUB231PDZ128r
, X86::VFNMSUB231PDZ128mb
, TB_BCAST_SD
},
5493 { X86::VFNMSUB231PDZ256r
, X86::VFNMSUB231PDZ256mb
, TB_BCAST_SD
},
5494 { X86::VFNMSUB231PDZr
, X86::VFNMSUB231PDZmb
, TB_BCAST_SD
},
5495 { X86::VFNMSUB231PSZ128r
, X86::VFNMSUB231PSZ128mb
, TB_BCAST_SS
},
5496 { X86::VFNMSUB231PSZ256r
, X86::VFNMSUB231PSZ256mb
, TB_BCAST_SS
},
5497 { X86::VFNMSUB231PSZr
, X86::VFNMSUB231PSZmb
, TB_BCAST_SS
},
5500 static const X86MemoryFoldTableEntry
*
5501 lookupFoldTableImpl(ArrayRef
<X86MemoryFoldTableEntry
> Table
, unsigned RegOp
) {
5503 // Make sure the tables are sorted.
5504 static std::atomic
<bool> FoldTablesChecked(false);
5505 if (!FoldTablesChecked
.load(std::memory_order_relaxed
)) {
5506 assert(std::is_sorted(std::begin(MemoryFoldTable2Addr
),
5507 std::end(MemoryFoldTable2Addr
)) &&
5508 std::adjacent_find(std::begin(MemoryFoldTable2Addr
),
5509 std::end(MemoryFoldTable2Addr
)) ==
5510 std::end(MemoryFoldTable2Addr
) &&
5511 "MemoryFoldTable2Addr is not sorted and unique!");
5512 assert(std::is_sorted(std::begin(MemoryFoldTable0
),
5513 std::end(MemoryFoldTable0
)) &&
5514 std::adjacent_find(std::begin(MemoryFoldTable0
),
5515 std::end(MemoryFoldTable0
)) ==
5516 std::end(MemoryFoldTable0
) &&
5517 "MemoryFoldTable0 is not sorted and unique!");
5518 assert(std::is_sorted(std::begin(MemoryFoldTable1
),
5519 std::end(MemoryFoldTable1
)) &&
5520 std::adjacent_find(std::begin(MemoryFoldTable1
),
5521 std::end(MemoryFoldTable1
)) ==
5522 std::end(MemoryFoldTable1
) &&
5523 "MemoryFoldTable1 is not sorted and unique!");
5524 assert(std::is_sorted(std::begin(MemoryFoldTable2
),
5525 std::end(MemoryFoldTable2
)) &&
5526 std::adjacent_find(std::begin(MemoryFoldTable2
),
5527 std::end(MemoryFoldTable2
)) ==
5528 std::end(MemoryFoldTable2
) &&
5529 "MemoryFoldTable2 is not sorted and unique!");
5530 assert(std::is_sorted(std::begin(MemoryFoldTable3
),
5531 std::end(MemoryFoldTable3
)) &&
5532 std::adjacent_find(std::begin(MemoryFoldTable3
),
5533 std::end(MemoryFoldTable3
)) ==
5534 std::end(MemoryFoldTable3
) &&
5535 "MemoryFoldTable3 is not sorted and unique!");
5536 assert(std::is_sorted(std::begin(MemoryFoldTable4
),
5537 std::end(MemoryFoldTable4
)) &&
5538 std::adjacent_find(std::begin(MemoryFoldTable4
),
5539 std::end(MemoryFoldTable4
)) ==
5540 std::end(MemoryFoldTable4
) &&
5541 "MemoryFoldTable4 is not sorted and unique!");
5542 assert(std::is_sorted(std::begin(BroadcastFoldTable2
),
5543 std::end(BroadcastFoldTable2
)) &&
5544 std::adjacent_find(std::begin(BroadcastFoldTable2
),
5545 std::end(BroadcastFoldTable2
)) ==
5546 std::end(BroadcastFoldTable2
) &&
5547 "BroadcastFoldTable2 is not sorted and unique!");
5548 assert(std::is_sorted(std::begin(BroadcastFoldTable3
),
5549 std::end(BroadcastFoldTable3
)) &&
5550 std::adjacent_find(std::begin(BroadcastFoldTable3
),
5551 std::end(BroadcastFoldTable3
)) ==
5552 std::end(BroadcastFoldTable3
) &&
5553 "BroadcastFoldTable3 is not sorted and unique!");
5554 FoldTablesChecked
.store(true, std::memory_order_relaxed
);
5558 const X86MemoryFoldTableEntry
*Data
= llvm::lower_bound(Table
, RegOp
);
5559 if (Data
!= Table
.end() && Data
->KeyOp
== RegOp
&&
5560 !(Data
->Flags
& TB_NO_FORWARD
))
5565 const X86MemoryFoldTableEntry
*
5566 llvm::lookupTwoAddrFoldTable(unsigned RegOp
) {
5567 return lookupFoldTableImpl(MemoryFoldTable2Addr
, RegOp
);
5570 const X86MemoryFoldTableEntry
*
5571 llvm::lookupFoldTable(unsigned RegOp
, unsigned OpNum
) {
5572 ArrayRef
<X86MemoryFoldTableEntry
> FoldTable
;
5574 FoldTable
= makeArrayRef(MemoryFoldTable0
);
5575 else if (OpNum
== 1)
5576 FoldTable
= makeArrayRef(MemoryFoldTable1
);
5577 else if (OpNum
== 2)
5578 FoldTable
= makeArrayRef(MemoryFoldTable2
);
5579 else if (OpNum
== 3)
5580 FoldTable
= makeArrayRef(MemoryFoldTable3
);
5581 else if (OpNum
== 4)
5582 FoldTable
= makeArrayRef(MemoryFoldTable4
);
5586 return lookupFoldTableImpl(FoldTable
, RegOp
);
5591 // This class stores the memory unfolding tables. It is instantiated as a
5592 // ManagedStatic to lazily init the unfolding table.
5593 struct X86MemUnfoldTable
{
5594 // Stores memory unfolding tables entries sorted by opcode.
5595 std::vector
<X86MemoryFoldTableEntry
> Table
;
5597 X86MemUnfoldTable() {
5598 for (const X86MemoryFoldTableEntry
&Entry
: MemoryFoldTable2Addr
)
5599 // Index 0, folded load and store, no alignment requirement.
5600 addTableEntry(Entry
, TB_INDEX_0
| TB_FOLDED_LOAD
| TB_FOLDED_STORE
);
5602 for (const X86MemoryFoldTableEntry
&Entry
: MemoryFoldTable0
)
5603 // Index 0, mix of loads and stores.
5604 addTableEntry(Entry
, TB_INDEX_0
);
5606 for (const X86MemoryFoldTableEntry
&Entry
: MemoryFoldTable1
)
5607 // Index 1, folded load
5608 addTableEntry(Entry
, TB_INDEX_1
| TB_FOLDED_LOAD
);
5610 for (const X86MemoryFoldTableEntry
&Entry
: MemoryFoldTable2
)
5611 // Index 2, folded load
5612 addTableEntry(Entry
, TB_INDEX_2
| TB_FOLDED_LOAD
);
5614 for (const X86MemoryFoldTableEntry
&Entry
: MemoryFoldTable3
)
5615 // Index 3, folded load
5616 addTableEntry(Entry
, TB_INDEX_3
| TB_FOLDED_LOAD
);
5618 for (const X86MemoryFoldTableEntry
&Entry
: MemoryFoldTable4
)
5619 // Index 4, folded load
5620 addTableEntry(Entry
, TB_INDEX_4
| TB_FOLDED_LOAD
);
5622 // Broadcast tables.
5623 for (const X86MemoryFoldTableEntry
&Entry
: BroadcastFoldTable2
)
5624 // Index 2, folded broadcast
5625 addTableEntry(Entry
, TB_INDEX_2
| TB_FOLDED_LOAD
| TB_FOLDED_BCAST
);
5627 for (const X86MemoryFoldTableEntry
&Entry
: BroadcastFoldTable3
)
5628 // Index 2, folded broadcast
5629 addTableEntry(Entry
, TB_INDEX_3
| TB_FOLDED_LOAD
| TB_FOLDED_BCAST
);
5631 // Sort the memory->reg unfold table.
5632 array_pod_sort(Table
.begin(), Table
.end());
5634 // Now that it's sorted, ensure its unique.
5635 assert(std::adjacent_find(Table
.begin(), Table
.end()) == Table
.end() &&
5636 "Memory unfolding table is not unique!");
5639 void addTableEntry(const X86MemoryFoldTableEntry
&Entry
,
5640 uint16_t ExtraFlags
) {
5641 // NOTE: This swaps the KeyOp and DstOp in the table so we can sort it.
5642 if ((Entry
.Flags
& TB_NO_REVERSE
) == 0)
5643 Table
.push_back({Entry
.DstOp
, Entry
.KeyOp
,
5644 static_cast<uint16_t>(Entry
.Flags
| ExtraFlags
) });
5649 static ManagedStatic
<X86MemUnfoldTable
> MemUnfoldTable
;
5651 const X86MemoryFoldTableEntry
*
5652 llvm::lookupUnfoldTable(unsigned MemOp
) {
5653 auto &Table
= MemUnfoldTable
->Table
;
5654 auto I
= llvm::lower_bound(Table
, MemOp
);
5655 if (I
!= Table
.end() && I
->KeyOp
== MemOp
)