106c3fb27SDimitry Andric//===- X86ManualFoldTables.def ----------------------------*- C++ -*-==// 206c3fb27SDimitry Andric// 306c3fb27SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 406c3fb27SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 506c3fb27SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 606c3fb27SDimitry Andric// 706c3fb27SDimitry Andric//===----------------------------------------------------------------------===// 806c3fb27SDimitry Andric// \file 906c3fb27SDimitry Andric// This file defines all the entries in X86 memory folding tables that need 1006c3fb27SDimitry Andric// special handling. 1106c3fb27SDimitry Andric//===----------------------------------------------------------------------===// 1206c3fb27SDimitry Andric 1306c3fb27SDimitry Andric#ifndef NOFOLD 1406c3fb27SDimitry Andric#define NOFOLD(INSN) 1506c3fb27SDimitry Andric#endif 1606c3fb27SDimitry AndricNOFOLD(BTC16rr) 1706c3fb27SDimitry AndricNOFOLD(BTC32rr) 1806c3fb27SDimitry AndricNOFOLD(BTC64rr) 1906c3fb27SDimitry AndricNOFOLD(BTR16rr) 2006c3fb27SDimitry AndricNOFOLD(BTR32rr) 2106c3fb27SDimitry AndricNOFOLD(BTR64rr) 2206c3fb27SDimitry AndricNOFOLD(BTS16rr) 2306c3fb27SDimitry AndricNOFOLD(BTS32rr) 2406c3fb27SDimitry AndricNOFOLD(BTS64rr) 2506c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZ128rrk) 2606c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZ256rrk) 2706c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZrrk) 2806c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZ128rrk) 2906c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZ256rrk) 3006c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZrrk) 3106c3fb27SDimitry AndricNOFOLD(VCVTPS2PHZ128rrk) 3206c3fb27SDimitry AndricNOFOLD(VCVTPS2PHZ256rrk) 3306c3fb27SDimitry AndricNOFOLD(VCVTPS2PHZrrk) 3406c3fb27SDimitry AndricNOFOLD(VEXTRACTF32x4Z256rrk) 3506c3fb27SDimitry AndricNOFOLD(VEXTRACTF32x4Zrrk) 3606c3fb27SDimitry AndricNOFOLD(VEXTRACTF32x8Zrrk) 3706c3fb27SDimitry AndricNOFOLD(VEXTRACTF64x2Z256rrk) 3806c3fb27SDimitry AndricNOFOLD(VEXTRACTF64x2Zrrk) 3906c3fb27SDimitry AndricNOFOLD(VEXTRACTF64x4Zrrk) 4006c3fb27SDimitry AndricNOFOLD(VEXTRACTI32x4Z256rrk) 4106c3fb27SDimitry AndricNOFOLD(VEXTRACTI32x4Zrrk) 4206c3fb27SDimitry AndricNOFOLD(VEXTRACTI32x8Zrrk) 4306c3fb27SDimitry AndricNOFOLD(VEXTRACTI64x2Z256rrk) 4406c3fb27SDimitry AndricNOFOLD(VEXTRACTI64x2Zrrk) 4506c3fb27SDimitry AndricNOFOLD(VEXTRACTI64x4Zrrk) 4606c3fb27SDimitry AndricNOFOLD(VMOVAPDZ128mrk) 4706c3fb27SDimitry AndricNOFOLD(VMOVAPDZ256mrk) 4806c3fb27SDimitry AndricNOFOLD(VMOVAPDZmrk) 4906c3fb27SDimitry AndricNOFOLD(VMOVAPSZ128mrk) 5006c3fb27SDimitry AndricNOFOLD(VMOVAPSZ256mrk) 5106c3fb27SDimitry AndricNOFOLD(VMOVAPSZmrk) 5206c3fb27SDimitry AndricNOFOLD(VMOVDQA32Z128mrk) 5306c3fb27SDimitry AndricNOFOLD(VMOVDQA32Z256mrk) 5406c3fb27SDimitry AndricNOFOLD(VMOVDQA32Zmrk) 5506c3fb27SDimitry AndricNOFOLD(VMOVDQA64Z128mrk) 5606c3fb27SDimitry AndricNOFOLD(VMOVDQA64Z256mrk) 5706c3fb27SDimitry AndricNOFOLD(VMOVDQA64Zmrk) 5806c3fb27SDimitry AndricNOFOLD(VMOVDQU16Z128mrk) 5906c3fb27SDimitry AndricNOFOLD(VMOVDQU16Z256mrk) 6006c3fb27SDimitry AndricNOFOLD(VMOVDQU16Zmrk) 6106c3fb27SDimitry AndricNOFOLD(VMOVDQU32Z128mrk) 6206c3fb27SDimitry AndricNOFOLD(VMOVDQU32Z256mrk) 6306c3fb27SDimitry AndricNOFOLD(VMOVDQU32Zmrk) 6406c3fb27SDimitry AndricNOFOLD(VMOVDQU64Z128mrk) 6506c3fb27SDimitry AndricNOFOLD(VMOVDQU64Z256mrk) 6606c3fb27SDimitry AndricNOFOLD(VMOVDQU64Zmrk) 6706c3fb27SDimitry AndricNOFOLD(VMOVDQU8Z128mrk) 6806c3fb27SDimitry AndricNOFOLD(VMOVDQU8Z256mrk) 6906c3fb27SDimitry AndricNOFOLD(VMOVDQU8Zmrk) 7006c3fb27SDimitry AndricNOFOLD(VMOVUPDZ128mrk) 7106c3fb27SDimitry AndricNOFOLD(VMOVUPDZ256mrk) 7206c3fb27SDimitry AndricNOFOLD(VMOVUPDZmrk) 7306c3fb27SDimitry AndricNOFOLD(VMOVUPSZ128mrk) 7406c3fb27SDimitry AndricNOFOLD(VMOVUPSZ256mrk) 7506c3fb27SDimitry AndricNOFOLD(VMOVUPSZmrk) 7606c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZ128rrk) 7706c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZ256rrk) 7806c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZrrk) 7906c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZ128rrk) 8006c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZ256rrk) 8106c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZrrk) 8206c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZ128rrk) 8306c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZ256rrk) 8406c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZrrk) 8506c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZ128rrk) 8606c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZ256rrk) 8706c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZrrk) 8806c3fb27SDimitry AndricNOFOLD(VPMOVDBZ128rrk) 8906c3fb27SDimitry AndricNOFOLD(VPMOVDBZ256rrk) 9006c3fb27SDimitry AndricNOFOLD(VPMOVDBZrrk) 9106c3fb27SDimitry AndricNOFOLD(VPMOVDWZ128rrk) 9206c3fb27SDimitry AndricNOFOLD(VPMOVDWZ256rrk) 9306c3fb27SDimitry AndricNOFOLD(VPMOVDWZrrk) 9406c3fb27SDimitry AndricNOFOLD(VPMOVQBZ128rrk) 9506c3fb27SDimitry AndricNOFOLD(VPMOVQBZ256rrk) 9606c3fb27SDimitry AndricNOFOLD(VPMOVQBZrrk) 9706c3fb27SDimitry AndricNOFOLD(VPMOVQDZ128rrk) 9806c3fb27SDimitry AndricNOFOLD(VPMOVQDZ256rrk) 9906c3fb27SDimitry AndricNOFOLD(VPMOVQDZrrk) 10006c3fb27SDimitry AndricNOFOLD(VPMOVQWZ128rrk) 10106c3fb27SDimitry AndricNOFOLD(VPMOVQWZ256rrk) 10206c3fb27SDimitry AndricNOFOLD(VPMOVQWZrrk) 10306c3fb27SDimitry AndricNOFOLD(VPMOVSDBZ128rrk) 10406c3fb27SDimitry AndricNOFOLD(VPMOVSDBZ256rrk) 10506c3fb27SDimitry AndricNOFOLD(VPMOVSDBZrrk) 10606c3fb27SDimitry AndricNOFOLD(VPMOVSDWZ128rrk) 10706c3fb27SDimitry AndricNOFOLD(VPMOVSDWZ256rrk) 10806c3fb27SDimitry AndricNOFOLD(VPMOVSDWZrrk) 10906c3fb27SDimitry AndricNOFOLD(VPMOVSQBZ128rrk) 11006c3fb27SDimitry AndricNOFOLD(VPMOVSQBZ256rrk) 11106c3fb27SDimitry AndricNOFOLD(VPMOVSQBZrrk) 11206c3fb27SDimitry AndricNOFOLD(VPMOVSQDZ128rrk) 11306c3fb27SDimitry AndricNOFOLD(VPMOVSQDZ256rrk) 11406c3fb27SDimitry AndricNOFOLD(VPMOVSQDZrrk) 11506c3fb27SDimitry AndricNOFOLD(VPMOVSQWZ128rrk) 11606c3fb27SDimitry AndricNOFOLD(VPMOVSQWZ256rrk) 11706c3fb27SDimitry AndricNOFOLD(VPMOVSQWZrrk) 11806c3fb27SDimitry AndricNOFOLD(VPMOVSWBZ128rrk) 11906c3fb27SDimitry AndricNOFOLD(VPMOVSWBZ256rrk) 12006c3fb27SDimitry AndricNOFOLD(VPMOVSWBZrrk) 12106c3fb27SDimitry AndricNOFOLD(VPMOVUSDBZ128rrk) 12206c3fb27SDimitry AndricNOFOLD(VPMOVUSDBZ256rrk) 12306c3fb27SDimitry AndricNOFOLD(VPMOVUSDBZrrk) 12406c3fb27SDimitry AndricNOFOLD(VPMOVUSDWZ128rrk) 12506c3fb27SDimitry AndricNOFOLD(VPMOVUSDWZ256rrk) 12606c3fb27SDimitry AndricNOFOLD(VPMOVUSDWZrrk) 12706c3fb27SDimitry AndricNOFOLD(VPMOVUSQBZ128rrk) 12806c3fb27SDimitry AndricNOFOLD(VPMOVUSQBZ256rrk) 12906c3fb27SDimitry AndricNOFOLD(VPMOVUSQBZrrk) 13006c3fb27SDimitry AndricNOFOLD(VPMOVUSQDZ128rrk) 13106c3fb27SDimitry AndricNOFOLD(VPMOVUSQDZ256rrk) 13206c3fb27SDimitry AndricNOFOLD(VPMOVUSQDZrrk) 13306c3fb27SDimitry AndricNOFOLD(VPMOVUSQWZ128rrk) 13406c3fb27SDimitry AndricNOFOLD(VPMOVUSQWZ256rrk) 13506c3fb27SDimitry AndricNOFOLD(VPMOVUSQWZrrk) 13606c3fb27SDimitry AndricNOFOLD(VPMOVUSWBZ128rrk) 13706c3fb27SDimitry AndricNOFOLD(VPMOVUSWBZ256rrk) 13806c3fb27SDimitry AndricNOFOLD(VPMOVUSWBZrrk) 13906c3fb27SDimitry AndricNOFOLD(VPMOVWBZ128rrk) 14006c3fb27SDimitry AndricNOFOLD(VPMOVWBZ256rrk) 14106c3fb27SDimitry AndricNOFOLD(VPMOVWBZrrk) 14206c3fb27SDimitry AndricNOFOLD(ARPL16rr) 14306c3fb27SDimitry AndricNOFOLD(BT16rr) 14406c3fb27SDimitry AndricNOFOLD(BT32rr) 14506c3fb27SDimitry AndricNOFOLD(BT64rr) 14606c3fb27SDimitry AndricNOFOLD(CMPXCHG16rr) 14706c3fb27SDimitry AndricNOFOLD(CMPXCHG32rr) 14806c3fb27SDimitry AndricNOFOLD(CMPXCHG64rr) 14906c3fb27SDimitry AndricNOFOLD(CMPXCHG8rr) 15006c3fb27SDimitry AndricNOFOLD(LLDT16r) 15106c3fb27SDimitry AndricNOFOLD(LMSW16r) 15206c3fb27SDimitry AndricNOFOLD(LTRr) 15306c3fb27SDimitry AndricNOFOLD(NOOPLr) 15406c3fb27SDimitry AndricNOFOLD(NOOPQr) 15506c3fb27SDimitry AndricNOFOLD(NOOPWr) 15606c3fb27SDimitry AndricNOFOLD(POP16rmr) 15706c3fb27SDimitry AndricNOFOLD(POP32rmr) 15806c3fb27SDimitry AndricNOFOLD(POP64rmr) 15906c3fb27SDimitry AndricNOFOLD(PUSH16rmr) 16006c3fb27SDimitry AndricNOFOLD(PUSH32rmr) 16106c3fb27SDimitry AndricNOFOLD(PUSH64rmr) 16206c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZ128rr) 16306c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZ256rr) 16406c3fb27SDimitry AndricNOFOLD(VCOMPRESSPDZrr) 16506c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZ128rr) 16606c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZ256rr) 16706c3fb27SDimitry AndricNOFOLD(VCOMPRESSPSZrr) 16806c3fb27SDimitry AndricNOFOLD(VERRr) 16906c3fb27SDimitry AndricNOFOLD(VERWr) 17006c3fb27SDimitry AndricNOFOLD(VMREAD32rr) 17106c3fb27SDimitry AndricNOFOLD(VMREAD64rr) 17206c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZ128rr) 17306c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZ256rr) 17406c3fb27SDimitry AndricNOFOLD(VPCOMPRESSBZrr) 17506c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZ128rr) 17606c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZ256rr) 17706c3fb27SDimitry AndricNOFOLD(VPCOMPRESSDZrr) 17806c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZ128rr) 17906c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZ256rr) 18006c3fb27SDimitry AndricNOFOLD(VPCOMPRESSQZrr) 18106c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZ128rr) 18206c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZ256rr) 18306c3fb27SDimitry AndricNOFOLD(VPCOMPRESSWZrr) 18406c3fb27SDimitry AndricNOFOLD(LAR16rr) 18506c3fb27SDimitry AndricNOFOLD(LAR32rr) 18606c3fb27SDimitry AndricNOFOLD(LAR64rr) 18706c3fb27SDimitry AndricNOFOLD(LSL16rr) 18806c3fb27SDimitry AndricNOFOLD(LSL32rr) 18906c3fb27SDimitry AndricNOFOLD(LSL64rr) 19006c3fb27SDimitry AndricNOFOLD(MOVSX16rr16) 19106c3fb27SDimitry AndricNOFOLD(MOVZX16rr16) 19206c3fb27SDimitry AndricNOFOLD(VMWRITE32rr) 19306c3fb27SDimitry AndricNOFOLD(VMWRITE64rr) 19406c3fb27SDimitry AndricNOFOLD(VBLENDMPDZ128rrkz) 19506c3fb27SDimitry AndricNOFOLD(VBLENDMPDZ256rrkz) 19606c3fb27SDimitry AndricNOFOLD(VBLENDMPDZrrkz) 19706c3fb27SDimitry AndricNOFOLD(VBLENDMPSZ128rrkz) 19806c3fb27SDimitry AndricNOFOLD(VBLENDMPSZ256rrkz) 19906c3fb27SDimitry AndricNOFOLD(VBLENDMPSZrrkz) 20006c3fb27SDimitry AndricNOFOLD(VPBLENDMBZ128rrkz) 20106c3fb27SDimitry AndricNOFOLD(VPBLENDMBZ256rrkz) 20206c3fb27SDimitry AndricNOFOLD(VPBLENDMBZrrkz) 20306c3fb27SDimitry AndricNOFOLD(VPBLENDMDZ128rrkz) 20406c3fb27SDimitry AndricNOFOLD(VPBLENDMDZ256rrkz) 20506c3fb27SDimitry AndricNOFOLD(VPBLENDMDZrrkz) 20606c3fb27SDimitry AndricNOFOLD(VPBLENDMQZ128rrkz) 20706c3fb27SDimitry AndricNOFOLD(VPBLENDMQZ256rrkz) 20806c3fb27SDimitry AndricNOFOLD(VPBLENDMQZrrkz) 20906c3fb27SDimitry AndricNOFOLD(VPBLENDMWZ128rrkz) 21006c3fb27SDimitry AndricNOFOLD(VPBLENDMWZ256rrkz) 21106c3fb27SDimitry AndricNOFOLD(VPBLENDMWZrrkz) 21206c3fb27SDimitry AndricNOFOLD(UD1Lr) 21306c3fb27SDimitry AndricNOFOLD(UD1Qr) 21406c3fb27SDimitry AndricNOFOLD(UD1Wr) 21506c3fb27SDimitry Andric// Exclude these two b/c they would conflict with {MMX_MOVD64from64rr, MMX_MOVQ64mr} in unfolding table 21606c3fb27SDimitry AndricNOFOLD(MMX_MOVQ64rr) 21706c3fb27SDimitry AndricNOFOLD(MMX_MOVQ64rr_REV) 21806c3fb27SDimitry Andric// INSERTPSrm has no count_s while INSERTPSrr has count_s. 21906c3fb27SDimitry Andric// count_s is to indicate which element in dst vector is inserted. 22006c3fb27SDimitry Andric// if count_s!=0, we can not fold INSERTPSrr into INSERTPSrm 22106c3fb27SDimitry Andric// 22206c3fb27SDimitry Andric// the following folding can happen when count_s==0 22306c3fb27SDimitry Andric// load xmm0, m32 22406c3fb27SDimitry Andric// insertpsrr xmm1, xmm0, imm 22506c3fb27SDimitry Andric// => 22606c3fb27SDimitry Andric// insertpsrm xmm1, m32, imm 22706c3fb27SDimitry AndricNOFOLD(INSERTPSrr) 2285f757f3fSDimitry AndricNOFOLD(VINSERTPSZrr) 2295f757f3fSDimitry AndricNOFOLD(VINSERTPSrr) 230*0fca6ea1SDimitry Andric// Memory faults are suppressed for CFCMOV with memory operand. 231*0fca6ea1SDimitry AndricNOFOLD(CFCMOV16rr_REV) 232*0fca6ea1SDimitry AndricNOFOLD(CFCMOV32rr_REV) 233*0fca6ea1SDimitry AndricNOFOLD(CFCMOV64rr_REV) 234*0fca6ea1SDimitry AndricNOFOLD(CFCMOV16rr_ND) 235*0fca6ea1SDimitry AndricNOFOLD(CFCMOV32rr_ND) 236*0fca6ea1SDimitry AndricNOFOLD(CFCMOV64rr_ND) 23706c3fb27SDimitry Andric#undef NOFOLD 23806c3fb27SDimitry Andric 23906c3fb27SDimitry Andric#ifndef ENTRY 24006c3fb27SDimitry Andric#define ENTRY(REG, MEM, FLAGS) 24106c3fb27SDimitry Andric#endif 24206c3fb27SDimitry Andric// The following entries are added manually b/c the encodings of reg form does not match the 24306c3fb27SDimitry Andric// encoding of memory form 24406c3fb27SDimitry AndricENTRY(ADD16ri_DB, ADD16mi, TB_NO_REVERSE) 24506c3fb27SDimitry AndricENTRY(ADD16rr_DB, ADD16mr, TB_NO_REVERSE) 24606c3fb27SDimitry AndricENTRY(ADD32ri_DB, ADD32mi, TB_NO_REVERSE) 24706c3fb27SDimitry AndricENTRY(ADD32rr_DB, ADD32mr, TB_NO_REVERSE) 24806c3fb27SDimitry AndricENTRY(ADD64ri32_DB, ADD64mi32, TB_NO_REVERSE) 24906c3fb27SDimitry AndricENTRY(ADD64rr_DB, ADD64mr, TB_NO_REVERSE) 25006c3fb27SDimitry AndricENTRY(ADD8ri_DB, ADD8mi, TB_NO_REVERSE) 25106c3fb27SDimitry AndricENTRY(ADD8rr_DB, ADD8mr, TB_NO_REVERSE) 25206c3fb27SDimitry AndricENTRY(ADD16rr_DB, ADD16rm, TB_NO_REVERSE) 25306c3fb27SDimitry AndricENTRY(ADD32rr_DB, ADD32rm, TB_NO_REVERSE) 25406c3fb27SDimitry AndricENTRY(ADD64rr_DB, ADD64rm, TB_NO_REVERSE) 25506c3fb27SDimitry AndricENTRY(ADD8rr_DB, ADD8rm, TB_NO_REVERSE) 25606c3fb27SDimitry AndricENTRY(MMX_MOVD64from64rr, MMX_MOVQ64mr, TB_FOLDED_STORE) 25706c3fb27SDimitry AndricENTRY(MMX_MOVD64grr, MMX_MOVD64mr, TB_FOLDED_STORE) 25806c3fb27SDimitry AndricENTRY(MOV64toSDrr, MOV64mr, TB_FOLDED_STORE | TB_NO_REVERSE) 25906c3fb27SDimitry AndricENTRY(MOVDI2SSrr, MOV32mr, TB_FOLDED_STORE | TB_NO_REVERSE) 26006c3fb27SDimitry AndricENTRY(MOVPQIto64rr, MOVPQI2QImr, TB_FOLDED_STORE | TB_NO_REVERSE) 26106c3fb27SDimitry AndricENTRY(MOVSDto64rr, MOVSDmr, TB_FOLDED_STORE | TB_NO_REVERSE) 26206c3fb27SDimitry AndricENTRY(MOVSS2DIrr, MOVSSmr, TB_FOLDED_STORE) 26306c3fb27SDimitry AndricENTRY(MOVLHPSrr, MOVHPSrm, TB_NO_REVERSE) 26406c3fb27SDimitry AndricENTRY(PUSH16r, PUSH16rmm, TB_FOLDED_LOAD) 26506c3fb27SDimitry AndricENTRY(PUSH32r, PUSH32rmm, TB_FOLDED_LOAD) 26606c3fb27SDimitry AndricENTRY(PUSH64r, PUSH64rmm, TB_FOLDED_LOAD) 26706c3fb27SDimitry AndricENTRY(TAILJMPr, TAILJMPm, TB_FOLDED_LOAD) 26806c3fb27SDimitry AndricENTRY(TAILJMPr64, TAILJMPm64, TB_FOLDED_LOAD) 26906c3fb27SDimitry AndricENTRY(TAILJMPr64_REX, TAILJMPm64_REX, TB_FOLDED_LOAD) 27006c3fb27SDimitry AndricENTRY(TCRETURNri, TCRETURNmi, TB_FOLDED_LOAD | TB_NO_FORWARD) 27106c3fb27SDimitry AndricENTRY(TCRETURNri64, TCRETURNmi64, TB_FOLDED_LOAD | TB_NO_FORWARD) 27206c3fb27SDimitry AndricENTRY(VMOVLHPSZrr, VMOVHPSZ128rm, TB_NO_REVERSE) 27306c3fb27SDimitry AndricENTRY(VMOVLHPSrr, VMOVHPSrm, TB_NO_REVERSE) 27406c3fb27SDimitry AndricENTRY(VMOV64toSDZrr, MOV64mr, TB_FOLDED_STORE | TB_NO_REVERSE) 27506c3fb27SDimitry AndricENTRY(VMOV64toSDrr, MOV64mr, TB_FOLDED_STORE | TB_NO_REVERSE) 27606c3fb27SDimitry AndricENTRY(VMOVDI2SSZrr, MOV32mr, TB_FOLDED_STORE | TB_NO_REVERSE) 27706c3fb27SDimitry AndricENTRY(VMOVDI2SSrr, MOV32mr, TB_FOLDED_STORE | TB_NO_REVERSE) 27806c3fb27SDimitry AndricENTRY(VMOVPQIto64Zrr, VMOVPQI2QIZmr, TB_FOLDED_STORE | TB_NO_REVERSE) 27906c3fb27SDimitry AndricENTRY(VMOVPQIto64rr, VMOVPQI2QImr, TB_FOLDED_STORE | TB_NO_REVERSE) 28006c3fb27SDimitry AndricENTRY(VMOVSDto64Zrr, VMOVSDZmr, TB_FOLDED_STORE | TB_NO_REVERSE) 28106c3fb27SDimitry AndricENTRY(VMOVSDto64rr, VMOVSDmr, TB_FOLDED_STORE | TB_NO_REVERSE) 28206c3fb27SDimitry AndricENTRY(VMOVSS2DIZrr, VMOVSSZmr, TB_FOLDED_STORE) 28306c3fb27SDimitry AndricENTRY(VMOVSS2DIrr, VMOVSSmr, TB_FOLDED_STORE) 28406c3fb27SDimitry AndricENTRY(MMX_MOVD64to64rr, MMX_MOVQ64rm, 0) 28506c3fb27SDimitry AndricENTRY(MOV64toPQIrr, MOVQI2PQIrm, TB_NO_REVERSE) 28606c3fb27SDimitry AndricENTRY(MOV64toSDrr, MOVSDrm_alt, TB_NO_REVERSE) 28706c3fb27SDimitry AndricENTRY(MOVDI2SSrr, MOVSSrm_alt, 0) 28806c3fb27SDimitry AndricENTRY(VMOV64toPQIZrr, VMOVQI2PQIZrm, TB_NO_REVERSE) 28906c3fb27SDimitry AndricENTRY(VMOV64toPQIrr, VMOVQI2PQIrm, TB_NO_REVERSE) 29006c3fb27SDimitry AndricENTRY(VMOV64toSDZrr, VMOVSDZrm_alt, TB_NO_REVERSE) 29106c3fb27SDimitry AndricENTRY(VMOV64toSDrr, VMOVSDrm_alt, TB_NO_REVERSE) 29206c3fb27SDimitry AndricENTRY(VMOVDI2SSZrr, VMOVSSZrm_alt, 0) 29306c3fb27SDimitry AndricENTRY(VMOVDI2SSrr, VMOVSSrm_alt, 0) 29406c3fb27SDimitry AndricENTRY(MOVSDrr, MOVLPDrm, TB_NO_REVERSE) 29506c3fb27SDimitry AndricENTRY(VMOVSDZrr, VMOVLPDZ128rm, TB_NO_REVERSE) 29606c3fb27SDimitry AndricENTRY(VMOVSDrr, VMOVLPDrm, TB_NO_REVERSE) 29706c3fb27SDimitry Andric#undef ENTRY 298