Lines Matching refs:opc2

3138                          UInt imm1, UInt imm2, UInt opc2,  in mkFormMD()  argument
3147 vassert(opc2 < 0x08); in mkFormMD()
3151 (opc2<<2) | ((imm1 >> 5)<<1)); in mkFormMD()
3156 UInt r3, UInt opc2, UInt b0, VexEndness endness_host ) in mkFormX() argument
3163 vassert(opc2 < 0x400); in mkFormX()
3166 (r3<<11) | (opc2<<1) | (b0)); in mkFormX()
3171 UInt r3, UInt b10, UInt opc2, UInt b0, in mkFormXO() argument
3180 vassert(opc2 < 0x200); in mkFormXO()
3183 (r3<<11) | (b10 << 10) | (opc2<<1) | (b0)); in mkFormXO()
3188 UInt f3, UInt opc2, UInt b0, VexEndness endness_host ) in mkFormXL() argument
3195 vassert(opc2 < 0x400); in mkFormXL()
3198 (f3<<11) | (opc2<<1) | (b0)); in mkFormXL()
3203 static UChar* mkFormXFX ( UChar* p, UInt r1, UInt f2, UInt opc2, in mkFormXFX() argument
3209 vassert(opc2 < 0x400); in mkFormXFX()
3210 switch (opc2) { in mkFormXFX()
3224 theInstr = ((31<<26) | (r1<<21) | (f2<<11) | (opc2<<1)); in mkFormXFX()
3240 UInt imm, UInt opc2, UInt b0, in mkFormXS() argument
3248 vassert(opc2 < 0x400); in mkFormXS()
3251 ((imm & 0x1F)<<11) | (opc2<<2) | ((imm>>5)<<1) | (b0)); in mkFormXS()
3304 UInt r3, UInt r4, UInt opc2, UInt b0, in mkFormA() argument
3313 vassert(opc2 < 0x20); in mkFormA()
3316 (r4<<6) | (opc2<<1) | (b0)); in mkFormA()
3321 UInt constant, UInt opc2, UInt b0, in mkFormZ22() argument
3329 vassert(opc2 < 0x200); /* 9 bit field */ in mkFormZ22()
3332 (constant<<10) | (opc2<<1) | (b0)); in mkFormZ22()
3337 UInt r3, UInt rmc, UInt opc2, UInt b0, in mkFormZ23() argument
3346 vassert(opc2 < 0x100); in mkFormZ23()
3349 (r3<<11) | (rmc<<9) | (opc2<<1) | (b0)); in mkFormZ23()
3373 static UChar* doAMode_RR ( UChar* p, UInt opc1, UInt opc2, in doAMode_RR() argument
3383 p = mkFormX(p, opc1, rSD, rA, rB, opc2, 0, endness_host); in doAMode_RR()
3668 UInt r3, UInt opc2, VexEndness endness_host ) in mkFormVX() argument
3675 vassert(opc2 < 0x800); in mkFormVX()
3676 theInstr = ((opc1<<26) | (r1<<21) | (r2<<16) | (r3<<11) | opc2); in mkFormVX()
3681 UInt r3, UInt opc2, VexEndness endness_host ) in mkFormVXI() argument
3688 vassert(opc2 < 0x27); in mkFormVXI()
3689 theInstr = ((opc1<<26) | (r1<<21) | (r2<<16) | (r3<<11) | opc2<<1); in mkFormVXI()
3694 UInt r3, UInt Rc, UInt opc2, in mkFormVXR() argument
3703 vassert(opc2 < 0x400); in mkFormVXR()
3705 (r3<<11) | (Rc<<10) | opc2); in mkFormVXR()
3710 UInt r3, UInt r4, UInt opc2, VexEndness endness_host ) in mkFormVA() argument
3718 vassert(opc2 < 0x40); in mkFormVA()
3720 (r3<<11) | (r4<<6) | opc2); in mkFormVA()
4376 UInt opc1, opc2, sz = i->Pin.Load.sz; in emit_PPCInstr() local
4394 case 1: opc2 = 87; break; in emit_PPCInstr()
4395 case 2: opc2 = 279; break; in emit_PPCInstr()
4396 case 4: opc2 = 23; break; in emit_PPCInstr()
4397 case 8: opc2 = 21; vassert(mode64); break; in emit_PPCInstr()
4400 p = doAMode_RR(p, 31, opc2, r_dst, am_addr, mode64, endness_host); in emit_PPCInstr()
4477 UInt opc1, opc2, sz = i->Pin.Store.sz; in emit_PPCInstr() local
4497 case 1: opc2 = 215; break; in emit_PPCInstr()
4498 case 2: opc2 = 407; break; in emit_PPCInstr()
4499 case 4: opc2 = 151; break; in emit_PPCInstr()
4501 opc2 = 149; break; in emit_PPCInstr()
4505 p = doAMode_RR(p, 31, opc2, r_src, am_addr, mode64, endness_host); in emit_PPCInstr()
4785 UInt opc2, v_reg, r_idx, r_base; in emit_PPCInstr() local
4803 opc2 = (sz==1) ? 7 : (sz==2) ? 39 : (sz==4) ? 71 : 103; in emit_PPCInstr()
4804 p = mkFormX(p, 31, v_reg, r_idx, r_base, opc2, 0, endness_host); in emit_PPCInstr()
4806 opc2 = (sz==1) ? 135 : (sz==2) ? 167 : (sz==4) ? 199 : 231; in emit_PPCInstr()
4807 p = mkFormX(p, 31, v_reg, r_idx, r_base, opc2, 0, endness_host); in emit_PPCInstr()
4815 UInt opc2; in emit_PPCInstr() local
4817 case Pav_MOV: opc2 = 1156; break; // vor vD,vS,vS in emit_PPCInstr()
4818 case Pav_NOT: opc2 = 1284; break; // vnor vD,vS,vS in emit_PPCInstr()
4819 case Pav_UNPCKH8S: opc2 = 526; break; // vupkhsb in emit_PPCInstr()
4820 case Pav_UNPCKH16S: opc2 = 590; break; // vupkhsh in emit_PPCInstr()
4821 case Pav_UNPCKL8S: opc2 = 654; break; // vupklsb in emit_PPCInstr()
4822 case Pav_UNPCKL16S: opc2 = 718; break; // vupklsh in emit_PPCInstr()
4823 case Pav_UNPCKHPIX: opc2 = 846; break; // vupkhpx in emit_PPCInstr()
4824 case Pav_UNPCKLPIX: opc2 = 974; break; // vupklpx in emit_PPCInstr()
4826 case Pav_ZEROCNTBYTE: opc2 = 1794; break; // vclzb in emit_PPCInstr()
4827 case Pav_ZEROCNTHALF: opc2 = 1858; break; // vclzh in emit_PPCInstr()
4828 case Pav_ZEROCNTWORD: opc2 = 1922; break; // vclzw in emit_PPCInstr()
4829 case Pav_ZEROCNTDBL: opc2 = 1986; break; // vclzd in emit_PPCInstr()
4830 case Pav_BITMTXXPOSE: opc2 = 1292; break; // vgbbd in emit_PPCInstr()
4837 p = mkFormVX( p, 4, v_dst, v_src, v_src, opc2, endness_host ); in emit_PPCInstr()
4840 p = mkFormVX( p, 4, v_dst, 0, v_src, opc2, endness_host ); in emit_PPCInstr()
4850 UInt opc2; in emit_PPCInstr() local
4863 case Pav_AND: opc2 = 1028; break; // vand in emit_PPCInstr()
4864 case Pav_OR: opc2 = 1156; break; // vor in emit_PPCInstr()
4865 case Pav_XOR: opc2 = 1220; break; // vxor in emit_PPCInstr()
4869 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2, endness_host ); in emit_PPCInstr()
4877 UInt opc2; in emit_PPCInstr() local
4880 case Pav_ADDU: opc2 = 0; break; // vaddubm in emit_PPCInstr()
4881 case Pav_QADDU: opc2 = 512; break; // vaddubs in emit_PPCInstr()
4882 case Pav_QADDS: opc2 = 768; break; // vaddsbs in emit_PPCInstr()
4884 case Pav_SUBU: opc2 = 1024; break; // vsububm in emit_PPCInstr()
4885 case Pav_QSUBU: opc2 = 1536; break; // vsububs in emit_PPCInstr()
4886 case Pav_QSUBS: opc2 = 1792; break; // vsubsbs in emit_PPCInstr()
4888 case Pav_OMULU: opc2 = 8; break; // vmuloub in emit_PPCInstr()
4889 case Pav_OMULS: opc2 = 264; break; // vmulosb in emit_PPCInstr()
4890 case Pav_EMULU: opc2 = 520; break; // vmuleub in emit_PPCInstr()
4891 case Pav_EMULS: opc2 = 776; break; // vmulesb in emit_PPCInstr()
4893 case Pav_AVGU: opc2 = 1026; break; // vavgub in emit_PPCInstr()
4894 case Pav_AVGS: opc2 = 1282; break; // vavgsb in emit_PPCInstr()
4895 case Pav_MAXU: opc2 = 2; break; // vmaxub in emit_PPCInstr()
4896 case Pav_MAXS: opc2 = 258; break; // vmaxsb in emit_PPCInstr()
4897 case Pav_MINU: opc2 = 514; break; // vminub in emit_PPCInstr()
4898 case Pav_MINS: opc2 = 770; break; // vminsb in emit_PPCInstr()
4900 case Pav_CMPEQU: opc2 = 6; break; // vcmpequb in emit_PPCInstr()
4901 case Pav_CMPGTU: opc2 = 518; break; // vcmpgtub in emit_PPCInstr()
4902 case Pav_CMPGTS: opc2 = 774; break; // vcmpgtsb in emit_PPCInstr()
4904 case Pav_SHL: opc2 = 260; break; // vslb in emit_PPCInstr()
4905 case Pav_SHR: opc2 = 516; break; // vsrb in emit_PPCInstr()
4906 case Pav_SAR: opc2 = 772; break; // vsrab in emit_PPCInstr()
4907 case Pav_ROTL: opc2 = 4; break; // vrlb in emit_PPCInstr()
4909 case Pav_MRGHI: opc2 = 12; break; // vmrghb in emit_PPCInstr()
4910 case Pav_MRGLO: opc2 = 268; break; // vmrglb in emit_PPCInstr()
4912 case Pav_POLYMULADD: opc2 = 1032; break; // vpmsumb in emit_PPCInstr()
4917 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2, endness_host ); in emit_PPCInstr()
4925 UInt opc2; in emit_PPCInstr() local
4928 case Pav_ADDU: opc2 = 64; break; // vadduhm in emit_PPCInstr()
4929 case Pav_QADDU: opc2 = 576; break; // vadduhs in emit_PPCInstr()
4930 case Pav_QADDS: opc2 = 832; break; // vaddshs in emit_PPCInstr()
4932 case Pav_SUBU: opc2 = 1088; break; // vsubuhm in emit_PPCInstr()
4933 case Pav_QSUBU: opc2 = 1600; break; // vsubuhs in emit_PPCInstr()
4934 case Pav_QSUBS: opc2 = 1856; break; // vsubshs in emit_PPCInstr()
4936 case Pav_OMULU: opc2 = 72; break; // vmulouh in emit_PPCInstr()
4937 case Pav_OMULS: opc2 = 328; break; // vmulosh in emit_PPCInstr()
4938 case Pav_EMULU: opc2 = 584; break; // vmuleuh in emit_PPCInstr()
4939 case Pav_EMULS: opc2 = 840; break; // vmulesh in emit_PPCInstr()
4941 case Pav_AVGU: opc2 = 1090; break; // vavguh in emit_PPCInstr()
4942 case Pav_AVGS: opc2 = 1346; break; // vavgsh in emit_PPCInstr()
4943 case Pav_MAXU: opc2 = 66; break; // vmaxuh in emit_PPCInstr()
4944 case Pav_MAXS: opc2 = 322; break; // vmaxsh in emit_PPCInstr()
4945 case Pav_MINS: opc2 = 834; break; // vminsh in emit_PPCInstr()
4946 case Pav_MINU: opc2 = 578; break; // vminuh in emit_PPCInstr()
4948 case Pav_CMPEQU: opc2 = 70; break; // vcmpequh in emit_PPCInstr()
4949 case Pav_CMPGTU: opc2 = 582; break; // vcmpgtuh in emit_PPCInstr()
4950 case Pav_CMPGTS: opc2 = 838; break; // vcmpgtsh in emit_PPCInstr()
4952 case Pav_SHL: opc2 = 324; break; // vslh in emit_PPCInstr()
4953 case Pav_SHR: opc2 = 580; break; // vsrh in emit_PPCInstr()
4954 case Pav_SAR: opc2 = 836; break; // vsrah in emit_PPCInstr()
4955 case Pav_ROTL: opc2 = 68; break; // vrlh in emit_PPCInstr()
4957 case Pav_PACKUU: opc2 = 14; break; // vpkuhum in emit_PPCInstr()
4958 case Pav_QPACKUU: opc2 = 142; break; // vpkuhus in emit_PPCInstr()
4959 case Pav_QPACKSU: opc2 = 270; break; // vpkshus in emit_PPCInstr()
4960 case Pav_QPACKSS: opc2 = 398; break; // vpkshss in emit_PPCInstr()
4961 case Pav_PACKPXL: opc2 = 782; break; // vpkpx in emit_PPCInstr()
4963 case Pav_MRGHI: opc2 = 76; break; // vmrghh in emit_PPCInstr()
4964 case Pav_MRGLO: opc2 = 332; break; // vmrglh in emit_PPCInstr()
4966 case Pav_POLYMULADD: opc2 = 1224; break; // vpmsumh in emit_PPCInstr()
4971 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2, endness_host ); in emit_PPCInstr()
4979 UInt opc2; in emit_PPCInstr() local
4982 case Pav_ADDU: opc2 = 128; break; // vadduwm in emit_PPCInstr()
4983 case Pav_QADDU: opc2 = 640; break; // vadduws in emit_PPCInstr()
4984 case Pav_QADDS: opc2 = 896; break; // vaddsws in emit_PPCInstr()
4986 case Pav_SUBU: opc2 = 1152; break; // vsubuwm in emit_PPCInstr()
4987 case Pav_QSUBU: opc2 = 1664; break; // vsubuws in emit_PPCInstr()
4988 case Pav_QSUBS: opc2 = 1920; break; // vsubsws in emit_PPCInstr()
4990 case Pav_MULU: opc2 = 137; break; // vmuluwm in emit_PPCInstr()
4991 case Pav_OMULU: opc2 = 136; break; // vmulouw in emit_PPCInstr()
4992 case Pav_OMULS: opc2 = 392; break; // vmulosw in emit_PPCInstr()
4993 case Pav_EMULU: opc2 = 648; break; // vmuleuw in emit_PPCInstr()
4994 case Pav_EMULS: opc2 = 904; break; // vmulesw in emit_PPCInstr()
4996 case Pav_AVGU: opc2 = 1154; break; // vavguw in emit_PPCInstr()
4997 case Pav_AVGS: opc2 = 1410; break; // vavgsw in emit_PPCInstr()
4999 case Pav_MAXU: opc2 = 130; break; // vmaxuw in emit_PPCInstr()
5000 case Pav_MAXS: opc2 = 386; break; // vmaxsw in emit_PPCInstr()
5002 case Pav_MINS: opc2 = 898; break; // vminsw in emit_PPCInstr()
5003 case Pav_MINU: opc2 = 642; break; // vminuw in emit_PPCInstr()
5005 case Pav_CMPEQU: opc2 = 134; break; // vcmpequw in emit_PPCInstr()
5006 case Pav_CMPGTS: opc2 = 902; break; // vcmpgtsw in emit_PPCInstr()
5007 case Pav_CMPGTU: opc2 = 646; break; // vcmpgtuw in emit_PPCInstr()
5009 case Pav_SHL: opc2 = 388; break; // vslw in emit_PPCInstr()
5010 case Pav_SHR: opc2 = 644; break; // vsrw in emit_PPCInstr()
5011 case Pav_SAR: opc2 = 900; break; // vsraw in emit_PPCInstr()
5012 case Pav_ROTL: opc2 = 132; break; // vrlw in emit_PPCInstr()
5014 case Pav_PACKUU: opc2 = 78; break; // vpkuwum in emit_PPCInstr()
5015 case Pav_QPACKUU: opc2 = 206; break; // vpkuwus in emit_PPCInstr()
5016 case Pav_QPACKSU: opc2 = 334; break; // vpkswus in emit_PPCInstr()
5017 case Pav_QPACKSS: opc2 = 462; break; // vpkswss in emit_PPCInstr()
5019 case Pav_MRGHI: opc2 = 140; break; // vmrghw in emit_PPCInstr()
5020 case Pav_MRGLO: opc2 = 396; break; // vmrglw in emit_PPCInstr()
5022 case Pav_CATODD: opc2 = 1676; break; // vmrgow in emit_PPCInstr()
5023 case Pav_CATEVEN: opc2 = 1932; break; // vmrgew in emit_PPCInstr()
5025 case Pav_POLYMULADD: opc2 = 1160; break; // vpmsumw in emit_PPCInstr()
5030 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2, endness_host ); in emit_PPCInstr()
5038 UInt opc2; in emit_PPCInstr() local
5040 case Pav_ADDU: opc2 = 192; break; // vaddudm vector double add in emit_PPCInstr()
5041 case Pav_SUBU: opc2 = 1216; break; // vsubudm vector double add in emit_PPCInstr()
5042 case Pav_MAXU: opc2 = 194; break; // vmaxud vector double max in emit_PPCInstr()
5043 case Pav_MAXS: opc2 = 450; break; // vmaxsd vector double max in emit_PPCInstr()
5044 case Pav_MINU: opc2 = 706; break; // vminud vector double min in emit_PPCInstr()
5045 case Pav_MINS: opc2 = 962; break; // vminsd vector double min in emit_PPCInstr()
5046 case Pav_CMPEQU: opc2 = 199; break; // vcmpequd vector double compare in emit_PPCInstr()
5047 case Pav_CMPGTU: opc2 = 711; break; // vcmpgtud vector double compare in emit_PPCInstr()
5048 case Pav_CMPGTS: opc2 = 967; break; // vcmpgtsd vector double compare in emit_PPCInstr()
5049 case Pav_SHL: opc2 = 1476; break; // vsld in emit_PPCInstr()
5050 case Pav_SHR: opc2 = 1732; break; // vsrd in emit_PPCInstr()
5051 case Pav_SAR: opc2 = 964; break; // vsrad in emit_PPCInstr()
5052 case Pav_ROTL: opc2 = 196; break; // vrld in emit_PPCInstr()
5053 case Pav_PACKUU: opc2 = 1102; break; // vpkudum in emit_PPCInstr()
5054 case Pav_QPACKUU: opc2 = 1230; break; // vpkudus, vpksdus (emulated) in emit_PPCInstr()
5055 case Pav_QPACKSS: opc2 = 1486; break; // vpksdsm in emit_PPCInstr()
5056 case Pav_MRGHI: opc2 = 1614; break; // vmrghw in emit_PPCInstr()
5057 case Pav_MRGLO: opc2 = 1742; break; // vmrglw in emit_PPCInstr()
5058 case Pav_POLYMULADD: opc2 = 1096; break; // vpmsumd in emit_PPCInstr()
5062 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2, endness_host ); in emit_PPCInstr()
5068 UInt opc2; in emit_PPCInstr() local
5070 case Pav_CIPHERSUBV128: opc2 = 1480; break; // vsbox in emit_PPCInstr()
5074 p = mkFormVX( p, 4, v_dst, v_src, 0, opc2, endness_host ); in emit_PPCInstr()
5081 UInt opc2; in emit_PPCInstr() local
5083 case Pav_CIPHERV128: opc2 = 1288; break; // vcipher in emit_PPCInstr()
5084 case Pav_CIPHERLV128: opc2 = 1289; break; // vcipherlast in emit_PPCInstr()
5085 case Pav_NCIPHERV128: opc2 = 1352; break; // vncipher in emit_PPCInstr()
5086 case Pav_NCIPHERLV128: opc2 = 1353; break; // vncipherlast in emit_PPCInstr()
5090 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2, endness_host ); in emit_PPCInstr()
5097 UInt opc2; in emit_PPCInstr() local
5099 case Pav_SHA256: opc2 = 1666; break; // vshasigmaw in emit_PPCInstr()
5100 case Pav_SHA512: opc2 = 1730; break; // vshasigmad in emit_PPCInstr()
5104 p = mkFormVX( p, 4, v_dst, v_src, s_field->Pri.Imm, opc2, endness_host ); in emit_PPCInstr()
5112 UInt opc2; in emit_PPCInstr() local
5114 case Pav_BCDAdd: opc2 = 1; break; // bcdadd in emit_PPCInstr()
5115 case Pav_BCDSub: opc2 = 65; break; // bcdsub in emit_PPCInstr()
5120 0x1, (ps->Pri.Imm << 9) | opc2, endness_host ); in emit_PPCInstr()
5182 UInt opc2; in emit_PPCInstr() local
5184 case Pavfp_RCPF: opc2 = 266; break; // vrefp in emit_PPCInstr()
5185 case Pavfp_RSQRTF: opc2 = 330; break; // vrsqrtefp in emit_PPCInstr()
5186 case Pavfp_CVTU2F: opc2 = 778; break; // vcfux in emit_PPCInstr()
5187 case Pavfp_CVTS2F: opc2 = 842; break; // vcfsx in emit_PPCInstr()
5188 case Pavfp_QCVTF2U: opc2 = 906; break; // vctuxs in emit_PPCInstr()
5189 case Pavfp_QCVTF2S: opc2 = 970; break; // vctsxs in emit_PPCInstr()
5190 case Pavfp_ROUNDM: opc2 = 714; break; // vrfim in emit_PPCInstr()
5191 case Pavfp_ROUNDP: opc2 = 650; break; // vrfip in emit_PPCInstr()
5192 case Pavfp_ROUNDN: opc2 = 522; break; // vrfin in emit_PPCInstr()
5193 case Pavfp_ROUNDZ: opc2 = 586; break; // vrfiz in emit_PPCInstr()
5197 p = mkFormVX( p, 4, v_dst, 0, v_src, opc2, endness_host ); in emit_PPCInstr()
5256 UInt v_src, opc2; in emit_PPCInstr() local
5261 opc2 = (sz == 8) ? 780 : (sz == 16) ? 844 : 908; // 8,16,32 in emit_PPCInstr()
5266 p = mkFormVX( p, 4, v_dst, (UInt)simm5, 0, opc2, endness_host ); in emit_PPCInstr()
5270 opc2 = (sz == 8) ? 524 : (sz == 16) ? 588 : 652; // 8,16,32 in emit_PPCInstr()
5274 p = mkFormVX( p, 4, v_dst, lowest_lane, v_src, opc2, endness_host ); in emit_PPCInstr()