xref: /freebsd/contrib/llvm-project/llvm/utils/TableGen/X86ManualFoldTables.def (revision 06c3fb2749bda94cb5201f81ffdb8fa6c3161b2e)
1*06c3fb27SDimitry Andric//===- X86ManualFoldTables.def ----------------------------*- C++ -*-==//
2*06c3fb27SDimitry Andric//
3*06c3fb27SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*06c3fb27SDimitry Andric// See https://llvm.org/LICENSE.txt for license information.
5*06c3fb27SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*06c3fb27SDimitry Andric//
7*06c3fb27SDimitry Andric//===----------------------------------------------------------------------===//
8*06c3fb27SDimitry Andric// \file
9*06c3fb27SDimitry Andric// This file defines all the entries in X86 memory folding tables that need
10*06c3fb27SDimitry Andric// special handling.
11*06c3fb27SDimitry Andric//===----------------------------------------------------------------------===//
12*06c3fb27SDimitry Andric
13*06c3fb27SDimitry Andric#ifndef NOFOLD
14*06c3fb27SDimitry Andric#define NOFOLD(INSN)
15*06c3fb27SDimitry Andric#endif
16*06c3fb27SDimitry AndricNOFOLD(BTC16rr)
17*06c3fb27SDimitry AndricNOFOLD(BTC32rr)
18*06c3fb27SDimitry AndricNOFOLD(BTC64rr)
19*06c3fb27SDimitry AndricNOFOLD(BTR16rr)
20*06c3fb27SDimitry AndricNOFOLD(BTR32rr)
21*06c3fb27SDimitry AndricNOFOLD(BTR64rr)
22*06c3fb27SDimitry AndricNOFOLD(BTS16rr)
23*06c3fb27SDimitry AndricNOFOLD(BTS32rr)
24*06c3fb27SDimitry AndricNOFOLD(BTS64rr)
25*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZ128rrk)
26*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZ256rrk)
27*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZrrk)
28*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZ128rrk)
29*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZ256rrk)
30*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZrrk)
31*06c3fb27SDimitry AndricNOFOLD(VCVTPS2PHZ128rrk)
32*06c3fb27SDimitry AndricNOFOLD(VCVTPS2PHZ256rrk)
33*06c3fb27SDimitry AndricNOFOLD(VCVTPS2PHZrrk)
34*06c3fb27SDimitry AndricNOFOLD(VEXTRACTF32x4Z256rrk)
35*06c3fb27SDimitry AndricNOFOLD(VEXTRACTF32x4Zrrk)
36*06c3fb27SDimitry AndricNOFOLD(VEXTRACTF32x8Zrrk)
37*06c3fb27SDimitry AndricNOFOLD(VEXTRACTF64x2Z256rrk)
38*06c3fb27SDimitry AndricNOFOLD(VEXTRACTF64x2Zrrk)
39*06c3fb27SDimitry AndricNOFOLD(VEXTRACTF64x4Zrrk)
40*06c3fb27SDimitry AndricNOFOLD(VEXTRACTI32x4Z256rrk)
41*06c3fb27SDimitry AndricNOFOLD(VEXTRACTI32x4Zrrk)
42*06c3fb27SDimitry AndricNOFOLD(VEXTRACTI32x8Zrrk)
43*06c3fb27SDimitry AndricNOFOLD(VEXTRACTI64x2Z256rrk)
44*06c3fb27SDimitry AndricNOFOLD(VEXTRACTI64x2Zrrk)
45*06c3fb27SDimitry AndricNOFOLD(VEXTRACTI64x4Zrrk)
46*06c3fb27SDimitry AndricNOFOLD(VMOVAPDZ128mrk)
47*06c3fb27SDimitry AndricNOFOLD(VMOVAPDZ256mrk)
48*06c3fb27SDimitry AndricNOFOLD(VMOVAPDZmrk)
49*06c3fb27SDimitry AndricNOFOLD(VMOVAPSZ128mrk)
50*06c3fb27SDimitry AndricNOFOLD(VMOVAPSZ256mrk)
51*06c3fb27SDimitry AndricNOFOLD(VMOVAPSZmrk)
52*06c3fb27SDimitry AndricNOFOLD(VMOVDQA32Z128mrk)
53*06c3fb27SDimitry AndricNOFOLD(VMOVDQA32Z256mrk)
54*06c3fb27SDimitry AndricNOFOLD(VMOVDQA32Zmrk)
55*06c3fb27SDimitry AndricNOFOLD(VMOVDQA64Z128mrk)
56*06c3fb27SDimitry AndricNOFOLD(VMOVDQA64Z256mrk)
57*06c3fb27SDimitry AndricNOFOLD(VMOVDQA64Zmrk)
58*06c3fb27SDimitry AndricNOFOLD(VMOVDQU16Z128mrk)
59*06c3fb27SDimitry AndricNOFOLD(VMOVDQU16Z256mrk)
60*06c3fb27SDimitry AndricNOFOLD(VMOVDQU16Zmrk)
61*06c3fb27SDimitry AndricNOFOLD(VMOVDQU32Z128mrk)
62*06c3fb27SDimitry AndricNOFOLD(VMOVDQU32Z256mrk)
63*06c3fb27SDimitry AndricNOFOLD(VMOVDQU32Zmrk)
64*06c3fb27SDimitry AndricNOFOLD(VMOVDQU64Z128mrk)
65*06c3fb27SDimitry AndricNOFOLD(VMOVDQU64Z256mrk)
66*06c3fb27SDimitry AndricNOFOLD(VMOVDQU64Zmrk)
67*06c3fb27SDimitry AndricNOFOLD(VMOVDQU8Z128mrk)
68*06c3fb27SDimitry AndricNOFOLD(VMOVDQU8Z256mrk)
69*06c3fb27SDimitry AndricNOFOLD(VMOVDQU8Zmrk)
70*06c3fb27SDimitry AndricNOFOLD(VMOVUPDZ128mrk)
71*06c3fb27SDimitry AndricNOFOLD(VMOVUPDZ256mrk)
72*06c3fb27SDimitry AndricNOFOLD(VMOVUPDZmrk)
73*06c3fb27SDimitry AndricNOFOLD(VMOVUPSZ128mrk)
74*06c3fb27SDimitry AndricNOFOLD(VMOVUPSZ256mrk)
75*06c3fb27SDimitry AndricNOFOLD(VMOVUPSZmrk)
76*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZ128rrk)
77*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZ256rrk)
78*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZrrk)
79*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZ128rrk)
80*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZ256rrk)
81*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZrrk)
82*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZ128rrk)
83*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZ256rrk)
84*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZrrk)
85*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZ128rrk)
86*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZ256rrk)
87*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZrrk)
88*06c3fb27SDimitry AndricNOFOLD(VPMOVDBZ128rrk)
89*06c3fb27SDimitry AndricNOFOLD(VPMOVDBZ256rrk)
90*06c3fb27SDimitry AndricNOFOLD(VPMOVDBZrrk)
91*06c3fb27SDimitry AndricNOFOLD(VPMOVDWZ128rrk)
92*06c3fb27SDimitry AndricNOFOLD(VPMOVDWZ256rrk)
93*06c3fb27SDimitry AndricNOFOLD(VPMOVDWZrrk)
94*06c3fb27SDimitry AndricNOFOLD(VPMOVQBZ128rrk)
95*06c3fb27SDimitry AndricNOFOLD(VPMOVQBZ256rrk)
96*06c3fb27SDimitry AndricNOFOLD(VPMOVQBZrrk)
97*06c3fb27SDimitry AndricNOFOLD(VPMOVQDZ128rrk)
98*06c3fb27SDimitry AndricNOFOLD(VPMOVQDZ256rrk)
99*06c3fb27SDimitry AndricNOFOLD(VPMOVQDZrrk)
100*06c3fb27SDimitry AndricNOFOLD(VPMOVQWZ128rrk)
101*06c3fb27SDimitry AndricNOFOLD(VPMOVQWZ256rrk)
102*06c3fb27SDimitry AndricNOFOLD(VPMOVQWZrrk)
103*06c3fb27SDimitry AndricNOFOLD(VPMOVSDBZ128rrk)
104*06c3fb27SDimitry AndricNOFOLD(VPMOVSDBZ256rrk)
105*06c3fb27SDimitry AndricNOFOLD(VPMOVSDBZrrk)
106*06c3fb27SDimitry AndricNOFOLD(VPMOVSDWZ128rrk)
107*06c3fb27SDimitry AndricNOFOLD(VPMOVSDWZ256rrk)
108*06c3fb27SDimitry AndricNOFOLD(VPMOVSDWZrrk)
109*06c3fb27SDimitry AndricNOFOLD(VPMOVSQBZ128rrk)
110*06c3fb27SDimitry AndricNOFOLD(VPMOVSQBZ256rrk)
111*06c3fb27SDimitry AndricNOFOLD(VPMOVSQBZrrk)
112*06c3fb27SDimitry AndricNOFOLD(VPMOVSQDZ128rrk)
113*06c3fb27SDimitry AndricNOFOLD(VPMOVSQDZ256rrk)
114*06c3fb27SDimitry AndricNOFOLD(VPMOVSQDZrrk)
115*06c3fb27SDimitry AndricNOFOLD(VPMOVSQWZ128rrk)
116*06c3fb27SDimitry AndricNOFOLD(VPMOVSQWZ256rrk)
117*06c3fb27SDimitry AndricNOFOLD(VPMOVSQWZrrk)
118*06c3fb27SDimitry AndricNOFOLD(VPMOVSWBZ128rrk)
119*06c3fb27SDimitry AndricNOFOLD(VPMOVSWBZ256rrk)
120*06c3fb27SDimitry AndricNOFOLD(VPMOVSWBZrrk)
121*06c3fb27SDimitry AndricNOFOLD(VPMOVUSDBZ128rrk)
122*06c3fb27SDimitry AndricNOFOLD(VPMOVUSDBZ256rrk)
123*06c3fb27SDimitry AndricNOFOLD(VPMOVUSDBZrrk)
124*06c3fb27SDimitry AndricNOFOLD(VPMOVUSDWZ128rrk)
125*06c3fb27SDimitry AndricNOFOLD(VPMOVUSDWZ256rrk)
126*06c3fb27SDimitry AndricNOFOLD(VPMOVUSDWZrrk)
127*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQBZ128rrk)
128*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQBZ256rrk)
129*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQBZrrk)
130*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQDZ128rrk)
131*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQDZ256rrk)
132*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQDZrrk)
133*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQWZ128rrk)
134*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQWZ256rrk)
135*06c3fb27SDimitry AndricNOFOLD(VPMOVUSQWZrrk)
136*06c3fb27SDimitry AndricNOFOLD(VPMOVUSWBZ128rrk)
137*06c3fb27SDimitry AndricNOFOLD(VPMOVUSWBZ256rrk)
138*06c3fb27SDimitry AndricNOFOLD(VPMOVUSWBZrrk)
139*06c3fb27SDimitry AndricNOFOLD(VPMOVWBZ128rrk)
140*06c3fb27SDimitry AndricNOFOLD(VPMOVWBZ256rrk)
141*06c3fb27SDimitry AndricNOFOLD(VPMOVWBZrrk)
142*06c3fb27SDimitry AndricNOFOLD(ARPL16rr)
143*06c3fb27SDimitry AndricNOFOLD(BT16rr)
144*06c3fb27SDimitry AndricNOFOLD(BT32rr)
145*06c3fb27SDimitry AndricNOFOLD(BT64rr)
146*06c3fb27SDimitry AndricNOFOLD(CMPXCHG16rr)
147*06c3fb27SDimitry AndricNOFOLD(CMPXCHG32rr)
148*06c3fb27SDimitry AndricNOFOLD(CMPXCHG64rr)
149*06c3fb27SDimitry AndricNOFOLD(CMPXCHG8rr)
150*06c3fb27SDimitry AndricNOFOLD(LLDT16r)
151*06c3fb27SDimitry AndricNOFOLD(LMSW16r)
152*06c3fb27SDimitry AndricNOFOLD(LTRr)
153*06c3fb27SDimitry AndricNOFOLD(NOOPLr)
154*06c3fb27SDimitry AndricNOFOLD(NOOPQr)
155*06c3fb27SDimitry AndricNOFOLD(NOOPWr)
156*06c3fb27SDimitry AndricNOFOLD(POP16rmr)
157*06c3fb27SDimitry AndricNOFOLD(POP32rmr)
158*06c3fb27SDimitry AndricNOFOLD(POP64rmr)
159*06c3fb27SDimitry AndricNOFOLD(PUSH16rmr)
160*06c3fb27SDimitry AndricNOFOLD(PUSH32rmr)
161*06c3fb27SDimitry AndricNOFOLD(PUSH64rmr)
162*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZ128rr)
163*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZ256rr)
164*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZrr)
165*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZ128rr)
166*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZ256rr)
167*06c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZrr)
168*06c3fb27SDimitry AndricNOFOLD(VERRr)
169*06c3fb27SDimitry AndricNOFOLD(VERWr)
170*06c3fb27SDimitry AndricNOFOLD(VMREAD32rr)
171*06c3fb27SDimitry AndricNOFOLD(VMREAD64rr)
172*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZ128rr)
173*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZ256rr)
174*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZrr)
175*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZ128rr)
176*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZ256rr)
177*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZrr)
178*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZ128rr)
179*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZ256rr)
180*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZrr)
181*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZ128rr)
182*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZ256rr)
183*06c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZrr)
184*06c3fb27SDimitry AndricNOFOLD(LAR16rr)
185*06c3fb27SDimitry AndricNOFOLD(LAR32rr)
186*06c3fb27SDimitry AndricNOFOLD(LAR64rr)
187*06c3fb27SDimitry AndricNOFOLD(LSL16rr)
188*06c3fb27SDimitry AndricNOFOLD(LSL32rr)
189*06c3fb27SDimitry AndricNOFOLD(LSL64rr)
190*06c3fb27SDimitry AndricNOFOLD(MOVSX16rr16)
191*06c3fb27SDimitry AndricNOFOLD(MOVZX16rr16)
192*06c3fb27SDimitry AndricNOFOLD(VMWRITE32rr)
193*06c3fb27SDimitry AndricNOFOLD(VMWRITE64rr)
194*06c3fb27SDimitry AndricNOFOLD(VBLENDMPDZ128rrkz)
195*06c3fb27SDimitry AndricNOFOLD(VBLENDMPDZ256rrkz)
196*06c3fb27SDimitry AndricNOFOLD(VBLENDMPDZrrkz)
197*06c3fb27SDimitry AndricNOFOLD(VBLENDMPSZ128rrkz)
198*06c3fb27SDimitry AndricNOFOLD(VBLENDMPSZ256rrkz)
199*06c3fb27SDimitry AndricNOFOLD(VBLENDMPSZrrkz)
200*06c3fb27SDimitry AndricNOFOLD(VPBLENDMBZ128rrkz)
201*06c3fb27SDimitry AndricNOFOLD(VPBLENDMBZ256rrkz)
202*06c3fb27SDimitry AndricNOFOLD(VPBLENDMBZrrkz)
203*06c3fb27SDimitry AndricNOFOLD(VPBLENDMDZ128rrkz)
204*06c3fb27SDimitry AndricNOFOLD(VPBLENDMDZ256rrkz)
205*06c3fb27SDimitry AndricNOFOLD(VPBLENDMDZrrkz)
206*06c3fb27SDimitry AndricNOFOLD(VPBLENDMQZ128rrkz)
207*06c3fb27SDimitry AndricNOFOLD(VPBLENDMQZ256rrkz)
208*06c3fb27SDimitry AndricNOFOLD(VPBLENDMQZrrkz)
209*06c3fb27SDimitry AndricNOFOLD(VPBLENDMWZ128rrkz)
210*06c3fb27SDimitry AndricNOFOLD(VPBLENDMWZ256rrkz)
211*06c3fb27SDimitry AndricNOFOLD(VPBLENDMWZrrkz)
212*06c3fb27SDimitry AndricNOFOLD(UD1Lr)
213*06c3fb27SDimitry AndricNOFOLD(UD1Qr)
214*06c3fb27SDimitry AndricNOFOLD(UD1Wr)
215*06c3fb27SDimitry Andric// Exclude these two b/c they would conflict with {MMX_MOVD64from64rr, MMX_MOVQ64mr} in unfolding table
216*06c3fb27SDimitry AndricNOFOLD(MMX_MOVQ64rr)
217*06c3fb27SDimitry AndricNOFOLD(MMX_MOVQ64rr_REV)
218*06c3fb27SDimitry Andric// INSERTPSrm has no count_s while INSERTPSrr has count_s.
219*06c3fb27SDimitry Andric// count_s is to indicate which element in dst vector is inserted.
220*06c3fb27SDimitry Andric// if count_s!=0, we can not fold INSERTPSrr into INSERTPSrm
221*06c3fb27SDimitry Andric//
222*06c3fb27SDimitry Andric// the following folding can happen when count_s==0
223*06c3fb27SDimitry Andric// load xmm0, m32
224*06c3fb27SDimitry Andric// insertpsrr xmm1, xmm0, imm
225*06c3fb27SDimitry Andric// =>
226*06c3fb27SDimitry Andric// insertpsrm xmm1, m32, imm
227*06c3fb27SDimitry AndricNOFOLD(INSERTPSrr)
228*06c3fb27SDimitry Andric#undef NOFOLD
229*06c3fb27SDimitry Andric
230*06c3fb27SDimitry Andric#ifndef ENTRY
231*06c3fb27SDimitry Andric#define ENTRY(REG, MEM, FLAGS)
232*06c3fb27SDimitry Andric#endif
233*06c3fb27SDimitry Andric// The following entries are added manually b/c the encodings of reg form does not match the
234*06c3fb27SDimitry Andric// encoding of memory form
235*06c3fb27SDimitry AndricENTRY(ADD16ri_DB, ADD16mi, TB_NO_REVERSE)
236*06c3fb27SDimitry AndricENTRY(ADD16rr_DB, ADD16mr, TB_NO_REVERSE)
237*06c3fb27SDimitry AndricENTRY(ADD32ri_DB, ADD32mi, TB_NO_REVERSE)
238*06c3fb27SDimitry AndricENTRY(ADD32rr_DB, ADD32mr, TB_NO_REVERSE)
239*06c3fb27SDimitry AndricENTRY(ADD64ri32_DB, ADD64mi32, TB_NO_REVERSE)
240*06c3fb27SDimitry AndricENTRY(ADD64rr_DB, ADD64mr, TB_NO_REVERSE)
241*06c3fb27SDimitry AndricENTRY(ADD8ri_DB, ADD8mi, TB_NO_REVERSE)
242*06c3fb27SDimitry AndricENTRY(ADD8rr_DB, ADD8mr, TB_NO_REVERSE)
243*06c3fb27SDimitry AndricENTRY(ADD16rr_DB, ADD16rm, TB_NO_REVERSE)
244*06c3fb27SDimitry AndricENTRY(ADD32rr_DB, ADD32rm, TB_NO_REVERSE)
245*06c3fb27SDimitry AndricENTRY(ADD64rr_DB, ADD64rm, TB_NO_REVERSE)
246*06c3fb27SDimitry AndricENTRY(ADD8rr_DB, ADD8rm, TB_NO_REVERSE)
247*06c3fb27SDimitry AndricENTRY(MMX_MOVD64from64rr, MMX_MOVQ64mr, TB_FOLDED_STORE)
248*06c3fb27SDimitry AndricENTRY(MMX_MOVD64grr, MMX_MOVD64mr, TB_FOLDED_STORE)
249*06c3fb27SDimitry AndricENTRY(MOV64toSDrr, MOV64mr, TB_FOLDED_STORE | TB_NO_REVERSE)
250*06c3fb27SDimitry AndricENTRY(MOVDI2SSrr, MOV32mr, TB_FOLDED_STORE | TB_NO_REVERSE)
251*06c3fb27SDimitry AndricENTRY(MOVPQIto64rr, MOVPQI2QImr, TB_FOLDED_STORE | TB_NO_REVERSE)
252*06c3fb27SDimitry AndricENTRY(MOVSDto64rr, MOVSDmr, TB_FOLDED_STORE | TB_NO_REVERSE)
253*06c3fb27SDimitry AndricENTRY(MOVSS2DIrr, MOVSSmr, TB_FOLDED_STORE)
254*06c3fb27SDimitry AndricENTRY(MOVLHPSrr, MOVHPSrm, TB_NO_REVERSE)
255*06c3fb27SDimitry AndricENTRY(PUSH16r, PUSH16rmm, TB_FOLDED_LOAD)
256*06c3fb27SDimitry AndricENTRY(PUSH32r, PUSH32rmm, TB_FOLDED_LOAD)
257*06c3fb27SDimitry AndricENTRY(PUSH64r, PUSH64rmm, TB_FOLDED_LOAD)
258*06c3fb27SDimitry AndricENTRY(TAILJMPr, TAILJMPm, TB_FOLDED_LOAD)
259*06c3fb27SDimitry AndricENTRY(TAILJMPr64, TAILJMPm64, TB_FOLDED_LOAD)
260*06c3fb27SDimitry AndricENTRY(TAILJMPr64_REX, TAILJMPm64_REX, TB_FOLDED_LOAD)
261*06c3fb27SDimitry AndricENTRY(TCRETURNri, TCRETURNmi, TB_FOLDED_LOAD | TB_NO_FORWARD)
262*06c3fb27SDimitry AndricENTRY(TCRETURNri64, TCRETURNmi64, TB_FOLDED_LOAD | TB_NO_FORWARD)
263*06c3fb27SDimitry AndricENTRY(VMOVLHPSZrr, VMOVHPSZ128rm, TB_NO_REVERSE)
264*06c3fb27SDimitry AndricENTRY(VMOVLHPSrr, VMOVHPSrm, TB_NO_REVERSE)
265*06c3fb27SDimitry AndricENTRY(VMOV64toSDZrr, MOV64mr, TB_FOLDED_STORE | TB_NO_REVERSE)
266*06c3fb27SDimitry AndricENTRY(VMOV64toSDrr, MOV64mr, TB_FOLDED_STORE | TB_NO_REVERSE)
267*06c3fb27SDimitry AndricENTRY(VMOVDI2SSZrr, MOV32mr, TB_FOLDED_STORE | TB_NO_REVERSE)
268*06c3fb27SDimitry AndricENTRY(VMOVDI2SSrr, MOV32mr, TB_FOLDED_STORE | TB_NO_REVERSE)
269*06c3fb27SDimitry AndricENTRY(VMOVPQIto64Zrr, VMOVPQI2QIZmr, TB_FOLDED_STORE | TB_NO_REVERSE)
270*06c3fb27SDimitry AndricENTRY(VMOVPQIto64rr, VMOVPQI2QImr, TB_FOLDED_STORE | TB_NO_REVERSE)
271*06c3fb27SDimitry AndricENTRY(VMOVSDto64Zrr, VMOVSDZmr, TB_FOLDED_STORE | TB_NO_REVERSE)
272*06c3fb27SDimitry AndricENTRY(VMOVSDto64rr, VMOVSDmr, TB_FOLDED_STORE | TB_NO_REVERSE)
273*06c3fb27SDimitry AndricENTRY(VMOVSS2DIZrr, VMOVSSZmr, TB_FOLDED_STORE)
274*06c3fb27SDimitry AndricENTRY(VMOVSS2DIrr, VMOVSSmr, TB_FOLDED_STORE)
275*06c3fb27SDimitry AndricENTRY(MMX_MOVD64to64rr, MMX_MOVQ64rm, 0)
276*06c3fb27SDimitry AndricENTRY(MOV64toPQIrr, MOVQI2PQIrm, TB_NO_REVERSE)
277*06c3fb27SDimitry AndricENTRY(MOV64toSDrr, MOVSDrm_alt, TB_NO_REVERSE)
278*06c3fb27SDimitry AndricENTRY(MOVDI2SSrr, MOVSSrm_alt, 0)
279*06c3fb27SDimitry AndricENTRY(VMOV64toPQIZrr, VMOVQI2PQIZrm, TB_NO_REVERSE)
280*06c3fb27SDimitry AndricENTRY(VMOV64toPQIrr, VMOVQI2PQIrm, TB_NO_REVERSE)
281*06c3fb27SDimitry AndricENTRY(VMOV64toSDZrr, VMOVSDZrm_alt, TB_NO_REVERSE)
282*06c3fb27SDimitry AndricENTRY(VMOV64toSDrr, VMOVSDrm_alt, TB_NO_REVERSE)
283*06c3fb27SDimitry AndricENTRY(VMOVDI2SSZrr, VMOVSSZrm_alt, 0)
284*06c3fb27SDimitry AndricENTRY(VMOVDI2SSrr, VMOVSSrm_alt, 0)
285*06c3fb27SDimitry AndricENTRY(MOVSDrr, MOVLPDrm, TB_NO_REVERSE)
286*06c3fb27SDimitry AndricENTRY(VMOVSDZrr, VMOVLPDZ128rm, TB_NO_REVERSE)
287*06c3fb27SDimitry AndricENTRY(VMOVSDrr, VMOVLPDrm, TB_NO_REVERSE)
288*06c3fb27SDimitry Andric#undef ENTRY
289