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