Lines Matching refs:opc2
2977 UInt imm1, UInt imm2, UInt opc2 )
2985 vassert(opc2 < 0x08);
2989 (opc2<<2) | ((imm1 >> 5)<<1));
2994 UInt r3, UInt opc2, UInt b0 )
3001 vassert(opc2 < 0x400);
3004 (r3<<11) | (opc2<<1) | (b0));
3009 UInt r3, UInt b10, UInt opc2, UInt b0 )
3017 vassert(opc2 < 0x200);
3020 (r3<<11) | (b10 << 10) | (opc2<<1) | (b0));
3025 UInt f3, UInt opc2, UInt b0 )
3032 vassert(opc2 < 0x400);
3035 (f3<<11) | (opc2<<1) | (b0));
3040 static UChar* mkFormXFX ( UChar* p, UInt r1, UInt f2, UInt opc2 )
3045 vassert(opc2 < 0x400);
3046 switch (opc2) {
3060 theInstr = ((31<<26) | (r1<<21) | (f2<<11) | (opc2<<1));
3075 UInt imm, UInt opc2, UInt b0 )
3082 vassert(opc2 < 0x400);
3085 ((imm & 0x1F)<<11) | (opc2<<2) | ((imm>>5)<<1) | (b0));
3136 UInt r3, UInt r4, UInt opc2, UInt b0 )
3144 vassert(opc2 < 0x20);
3147 (r4<<6) | (opc2<<1) | (b0));
3152 UInt constant, UInt opc2, UInt b0 )
3159 vassert(opc2 < 0x200); /* 9 bit field */
3162 (constant<<10) | (opc2<<1) | (b0));
3167 UInt r3, UInt rmc, UInt opc2, UInt b0 )
3175 vassert(opc2 < 0x100);
3178 (r3<<11) | (rmc<<9) | (opc2<<1) | (b0));
3202 static UChar* doAMode_RR ( UChar* p, UInt opc1, UInt opc2,
3211 p = mkFormX(p, opc1, rSD, rA, rB, opc2, 0);
3492 UInt r3, UInt opc2 )
3499 vassert(opc2 < 0x800);
3500 theInstr = ((opc1<<26) | (r1<<21) | (r2<<16) | (r3<<11) | opc2);
3505 UInt r3, UInt Rc, UInt opc2 )
3513 vassert(opc2 < 0x400);
3515 (r3<<11) | (Rc<<10) | opc2);
3520 UInt r3, UInt r4, UInt opc2 )
3528 vassert(opc2 < 0x40);
3530 (r3<<11) | (r4<<6) | opc2);
4165 UInt opc1, opc2, sz = i->Pin.Load.sz;
4183 case 1: opc2 = 87; break;
4184 case 2: opc2 = 279; break;
4185 case 4: opc2 = 23; break;
4186 case 8: opc2 = 21; vassert(mode64); break;
4189 p = doAMode_RR(p, 31, opc2, r_dst, am_addr, mode64);
4255 UInt opc1, opc2, sz = i->Pin.Store.sz;
4275 case 1: opc2 = 215; break;
4276 case 2: opc2 = 407; break;
4277 case 4: opc2 = 151; break;
4279 opc2 = 149; break;
4283 p = doAMode_RR(p, 31, opc2, r_src, am_addr, mode64);
4546 UInt opc2, v_reg, r_idx, r_base;
4564 opc2 = (sz==1) ? 7 : (sz==2) ? 39 : (sz==4) ? 71 : 103;
4565 p = mkFormX(p, 31, v_reg, r_idx, r_base, opc2, 0);
4567 opc2 = (sz==1) ? 135 : (sz==2) ? 167 : (sz==4) ? 199 : 231;
4568 p = mkFormX(p, 31, v_reg, r_idx, r_base, opc2, 0);
4576 UInt opc2;
4578 case Pav_MOV: opc2 = 1156; break; // vor vD,vS,vS
4579 case Pav_NOT: opc2 = 1284; break; // vnor vD,vS,vS
4580 case Pav_UNPCKH8S: opc2 = 526; break; // vupkhsb
4581 case Pav_UNPCKH16S: opc2 = 590; break; // vupkhsh
4582 case Pav_UNPCKL8S: opc2 = 654; break; // vupklsb
4583 case Pav_UNPCKL16S: opc2 = 718; break; // vupklsh
4584 case Pav_UNPCKHPIX: opc2 = 846; break; // vupkhpx
4585 case Pav_UNPCKLPIX: opc2 = 974; break; // vupklpx
4592 p = mkFormVX( p, 4, v_dst, v_src, v_src, opc2 );
4595 p = mkFormVX( p, 4, v_dst, 0, v_src, opc2 );
4605 UInt opc2;
4618 case Pav_AND: opc2 = 1028; break; // vand
4619 case Pav_OR: opc2 = 1156; break; // vor
4620 case Pav_XOR: opc2 = 1220; break; // vxor
4624 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2 );
4632 UInt opc2;
4635 case Pav_ADDU: opc2 = 0; break; // vaddubm
4636 case Pav_QADDU: opc2 = 512; break; // vaddubs
4637 case Pav_QADDS: opc2 = 768; break; // vaddsbs
4639 case Pav_SUBU: opc2 = 1024; break; // vsububm
4640 case Pav_QSUBU: opc2 = 1536; break; // vsububs
4641 case Pav_QSUBS: opc2 = 1792; break; // vsubsbs
4643 case Pav_OMULU: opc2 = 8; break; // vmuloub
4644 case Pav_OMULS: opc2 = 264; break; // vmulosb
4645 case Pav_EMULU: opc2 = 520; break; // vmuleub
4646 case Pav_EMULS: opc2 = 776; break; // vmulesb
4648 case Pav_AVGU: opc2 = 1026; break; // vavgub
4649 case Pav_AVGS: opc2 = 1282; break; // vavgsb
4650 case Pav_MAXU: opc2 = 2; break; // vmaxub
4651 case Pav_MAXS: opc2 = 258; break; // vmaxsb
4652 case Pav_MINU: opc2 = 514; break; // vminub
4653 case Pav_MINS: opc2 = 770; break; // vminsb
4655 case Pav_CMPEQU: opc2 = 6; break; // vcmpequb
4656 case Pav_CMPGTU: opc2 = 518; break; // vcmpgtub
4657 case Pav_CMPGTS: opc2 = 774; break; // vcmpgtsb
4659 case Pav_SHL: opc2 = 260; break; // vslb
4660 case Pav_SHR: opc2 = 516; break; // vsrb
4661 case Pav_SAR: opc2 = 772; break; // vsrab
4662 case Pav_ROTL: opc2 = 4; break; // vrlb
4664 case Pav_MRGHI: opc2 = 12; break; // vmrghb
4665 case Pav_MRGLO: opc2 = 268; break; // vmrglb
4670 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2 );
4678 UInt opc2;
4681 case Pav_ADDU: opc2 = 64; break; // vadduhm
4682 case Pav_QADDU: opc2 = 576; break; // vadduhs
4683 case Pav_QADDS: opc2 = 832; break; // vaddshs
4685 case Pav_SUBU: opc2 = 1088; break; // vsubuhm
4686 case Pav_QSUBU: opc2 = 1600; break; // vsubuhs
4687 case Pav_QSUBS: opc2 = 1856; break; // vsubshs
4689 case Pav_OMULU: opc2 = 72; break; // vmulouh
4690 case Pav_OMULS: opc2 = 328; break; // vmulosh
4691 case Pav_EMULU: opc2 = 584; break; // vmuleuh
4692 case Pav_EMULS: opc2 = 840; break; // vmulesh
4694 case Pav_AVGU: opc2 = 1090; break; // vavguh
4695 case Pav_AVGS: opc2 = 1346; break; // vavgsh
4696 case Pav_MAXU: opc2 = 66; break; // vmaxuh
4697 case Pav_MAXS: opc2 = 322; break; // vmaxsh
4698 case Pav_MINS: opc2 = 834; break; // vminsh
4699 case Pav_MINU: opc2 = 578; break; // vminuh
4701 case Pav_CMPEQU: opc2 = 70; break; // vcmpequh
4702 case Pav_CMPGTU: opc2 = 582; break; // vcmpgtuh
4703 case Pav_CMPGTS: opc2 = 838; break; // vcmpgtsh
4705 case Pav_SHL: opc2 = 324; break; // vslh
4706 case Pav_SHR: opc2 = 580; break; // vsrh
4707 case Pav_SAR: opc2 = 836; break; // vsrah
4708 case Pav_ROTL: opc2 = 68; break; // vrlh
4710 case Pav_PACKUU: opc2 = 14; break; // vpkuhum
4711 case Pav_QPACKUU: opc2 = 142; break; // vpkuhus
4712 case Pav_QPACKSU: opc2 = 270; break; // vpkshus
4713 case Pav_QPACKSS: opc2 = 398; break; // vpkshss
4714 case Pav_PACKPXL: opc2 = 782; break; // vpkpx
4716 case Pav_MRGHI: opc2 = 76; break; // vmrghh
4717 case Pav_MRGLO: opc2 = 332; break; // vmrglh
4722 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2 );
4730 UInt opc2;
4733 case Pav_ADDU: opc2 = 128; break; // vadduwm
4734 case Pav_QADDU: opc2 = 640; break; // vadduws
4735 case Pav_QADDS: opc2 = 896; break; // vaddsws
4737 case Pav_SUBU: opc2 = 1152; break; // vsubuwm
4738 case Pav_QSUBU: opc2 = 1664; break; // vsubuws
4739 case Pav_QSUBS: opc2 = 1920; break; // vsubsws
4741 case Pav_AVGU: opc2 = 1154; break; // vavguw
4742 case Pav_AVGS: opc2 = 1410; break; // vavgsw
4744 case Pav_MAXU: opc2 = 130; break; // vmaxuw
4745 case Pav_MAXS: opc2 = 386; break; // vmaxsw
4747 case Pav_MINS: opc2 = 898; break; // vminsw
4748 case Pav_MINU: opc2 = 642; break; // vminuw
4750 case Pav_CMPEQU: opc2 = 134; break; // vcmpequw
4751 case Pav_CMPGTS: opc2 = 902; break; // vcmpgtsw
4752 case Pav_CMPGTU: opc2 = 646; break; // vcmpgtuw
4754 case Pav_SHL: opc2 = 388; break; // vslw
4755 case Pav_SHR: opc2 = 644; break; // vsrw
4756 case Pav_SAR: opc2 = 900; break; // vsraw
4757 case Pav_ROTL: opc2 = 132; break; // vrlw
4759 case Pav_PACKUU: opc2 = 78; break; // vpkuwum
4760 case Pav_QPACKUU: opc2 = 206; break; // vpkuwus
4761 case Pav_QPACKSU: opc2 = 334; break; // vpkswus
4762 case Pav_QPACKSS: opc2 = 462; break; // vpkswss
4764 case Pav_MRGHI: opc2 = 140; break; // vmrghw
4765 case Pav_MRGLO: opc2 = 396; break; // vmrglw
4770 p = mkFormVX( p, 4, v_dst, v_srcL, v_srcR, opc2 );
4833 UInt opc2;
4835 case Pavfp_RCPF: opc2 = 266; break; // vrefp
4836 case Pavfp_RSQRTF: opc2 = 330; break; // vrsqrtefp
4837 case Pavfp_CVTU2F: opc2 = 778; break; // vcfux
4838 case Pavfp_CVTS2F: opc2 = 842; break; // vcfsx
4839 case Pavfp_QCVTF2U: opc2 = 906; break; // vctuxs
4840 case Pavfp_QCVTF2S: opc2 = 970; break; // vctsxs
4841 case Pavfp_ROUNDM: opc2 = 714; break; // vrfim
4842 case Pavfp_ROUNDP: opc2 = 650; break; // vrfip
4843 case Pavfp_ROUNDN: opc2 = 522; break; // vrfin
4844 case Pavfp_ROUNDZ: opc2 = 586; break; // vrfiz
4848 p = mkFormVX( p, 4, v_dst, 0, v_src, opc2 );
4883 UInt v_src, opc2;
4888 opc2 = (sz == 8) ? 780 : (sz == 16) ? 844 : 908; // 8,16,32
4893 p = mkFormVX( p, 4, v_dst, (UInt)simm5, 0, opc2 );
4897 opc2 = (sz == 8) ? 524 : (sz == 16) ? 588 : 652; // 8,16,32
4901 p = mkFormVX( p, 4, v_dst, lowest_lane, v_src, opc2 );