Lines Matching defs:CurOp

376   PrefixKind emitPrefixImpl(unsigned &CurOp, const MCInst &MI,
498 unsigned CurOp = X86II::getOperandBias(Desc);
499 const MCOperand &Op = MI.getOperand(CurOp);
881 PrefixKind X86MCCodeEmitter::emitPrefixImpl(unsigned &CurOp, const MCInst &MI,
889 MemoryOperand += CurOp;
913 CurOp += 3; // Consume operands.
920 CurOp += 2; // Consume operands.
924 ++CurOp; // Consume operand.
1059 unsigned CurOp = X86II::getOperandBias(Desc);
1067 Prefix.setRR2(MI, CurOp++);
1070 CurOp += X86::AddrNumOperands;
1071 Prefix.set4VV2(MI, CurOp++);
1092 Prefix.set4VV2(MI, CurOp++);
1094 CurOp += X86::AddrNumOperands;
1097 Prefix.setAAA(MI, CurOp++);
1100 Prefix.set4VV2(MI, CurOp++);
1102 Prefix.setRR2(MI, CurOp++);
1104 Prefix.set4V(MI, CurOp++, /*IsImm=*/true);
1105 Prefix.setSC(MI, CurOp++);
1124 Prefix.set4VV2(MI, CurOp++);
1126 Prefix.setRR2(MI, CurOp++);
1129 Prefix.setAAA(MI, CurOp++);
1132 Prefix.set4VV2(MI, CurOp++);
1137 CurOp += X86::AddrNumOperands;
1139 Prefix.set4V(MI, CurOp++, /*IsImm=*/true);
1140 Prefix.setSC(MI, CurOp++);
1147 Prefix.setRR2(MI, CurOp++);
1150 Prefix.set4VV2(MI, CurOp + X86::AddrNumOperands);
1155 Prefix.setR(MI, CurOp++);
1156 Prefix.set4V(MI, CurOp++);
1174 Prefix.set4VV2(MI, CurOp++);
1177 Prefix.setAAA(MI, CurOp++);
1182 CurOp += X86::AddrNumOperands + 1; // Skip first imm.
1184 Prefix.set4V(MI, CurOp++, /*IsImm=*/true);
1185 Prefix.setSC(MI, CurOp++);
1202 Prefix.set4VV2(MI, CurOp++);
1203 Prefix.setRR2(MI, CurOp++);
1206 Prefix.setAAA(MI, CurOp++);
1209 Prefix.set4VV2(MI, CurOp++);
1211 Prefix.setBB2(MI, CurOp);
1212 Prefix.setX(MI, CurOp, 4);
1213 ++CurOp;
1216 Prefix.set4V(MI, CurOp++, /*IsImm=*/true);
1217 Prefix.setSC(MI, CurOp++);
1224 assert(RcOperand >= CurOp);
1235 Prefix.setRR2(MI, CurOp++);
1236 Prefix.setBB2(MI, CurOp++);
1237 Prefix.set4VV2(MI, CurOp++);
1242 Prefix.setR(MI, CurOp++);
1243 Prefix.set4V(MI, CurOp++);
1245 ++CurOp;
1247 Prefix.setB(MI, CurOp);
1248 Prefix.setX(MI, CurOp, 4);
1249 ++CurOp;
1262 Prefix.set4VV2(MI, CurOp++);
1263 Prefix.setBB2(MI, CurOp);
1264 Prefix.setX(MI, CurOp, 4);
1265 ++CurOp;
1268 Prefix.setAAA(MI, CurOp++);
1271 Prefix.set4VV2(MI, CurOp++);
1273 Prefix.setRR2(MI, CurOp++);
1275 Prefix.set4V(MI, CurOp++, /*IsImm=*/true);
1276 Prefix.setSC(MI, CurOp++);
1286 Prefix.setRR2(MI, CurOp++);
1301 Prefix.set4VV2(MI, CurOp++);
1304 Prefix.setAAA(MI, CurOp++);
1306 Prefix.setBB2(MI, CurOp);
1307 Prefix.setX(MI, CurOp, 4);
1308 ++CurOp;
1310 Prefix.set4V(MI, ++CurOp, /*IsImm=*/true);
1311 Prefix.setSC(MI, ++CurOp);
1345 unsigned CurOp = NumOps ? X86II::getOperandBias(Desc) : 0;
1346 for (unsigned i = CurOp; i != NumOps; ++i) {
1387 Prefix.setBB2(MI, CurOp++);
1391 Prefix.setRR2(MI, CurOp++);
1392 Prefix.setBB2(MI, CurOp++);
1396 Prefix.setRR2(MI, CurOp++);
1399 CurOp += X86::AddrNumOperands;
1402 Prefix.setBB2(MI, CurOp++);
1403 Prefix.setRR2(MI, CurOp++);
1408 CurOp += X86::AddrNumOperands;
1409 Prefix.setRR2(MI, CurOp++);
1434 Prefix.setBB2(MI, CurOp++);
1532 unsigned CurOp = X86II::getOperandBias(Desc);
1534 emitPrefixImpl(CurOp, MI, STI, CB);
1555 unsigned CurOp = X86II::getOperandBias(Desc);
1559 PrefixKind Kind = emitPrefixImpl(CurOp, MI, STI, CB);
1607 const MCOperand &Op = MI.getOperand(CurOp++);
1615 emitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
1618 ++CurOp; // skip segment operand
1622 emitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
1625 emitImmediate(MI.getOperand(CurOp++), MI.getLoc(), 1, FK_Data_1, StartByte,
1630 emitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
1633 emitImmediate(MI.getOperand(CurOp++), MI.getLoc(), 2, FK_Data_2, StartByte,
1638 emitByte(BaseOpcode + getX86RegNum(MI.getOperand(CurOp++)), CB);
1643 unsigned SrcRegNum = CurOp + 1;
1651 ++CurOp;
1653 emitRegModRMByte(MI.getOperand(CurOp),
1655 CurOp = SrcRegNum + 1;
1659 unsigned FirstOp = CurOp++;
1660 unsigned SecondOp = CurOp++;
1661 unsigned CC = MI.getOperand(CurOp++).getImm();
1670 unsigned SrcRegNum = CurOp + X86::AddrNumOperands;
1671 emitMemModRMByte(MI, CurOp + 1, getX86RegNum(MI.getOperand(0)), TSFlags,
1673 CurOp = SrcRegNum + 3; // skip reg, VEX_V4 and CC
1679 unsigned SrcRegNum = CurOp + X86::AddrNumOperands;
1688 ++CurOp;
1691 emitMemModRMByte(MI, CurOp, getX86RegNum(MI.getOperand(SrcRegNum)), TSFlags,
1693 CurOp = SrcRegNum + 1;
1697 unsigned MemOp = CurOp;
1698 CurOp = MemOp + X86::AddrNumOperands;
1699 unsigned RegOp = CurOp++;
1700 unsigned CC = MI.getOperand(CurOp++).getImm();
1708 unsigned SrcRegNum = CurOp + 1;
1717 ++CurOp;
1720 getX86RegNum(MI.getOperand(CurOp)), CB);
1721 CurOp = SrcRegNum + 1;
1723 I8RegNum = getX86RegEncoding(MI, CurOp++);
1731 unsigned SrcRegNum = CurOp + 1;
1734 getX86RegNum(MI.getOperand(CurOp)), CB);
1735 CurOp = SrcRegNum + 1;
1736 ++CurOp; // Encoded in VEX.VVVV
1741 unsigned SrcRegNum = CurOp + 1;
1751 getX86RegNum(MI.getOperand(CurOp)), CB);
1752 CurOp = SrcRegNum + 1;
1757 ++CurOp;
1758 unsigned FirstOp = CurOp++;
1759 unsigned SecondOp = CurOp++;
1761 unsigned CC = MI.getOperand(CurOp++).getImm();
1770 unsigned FirstMemOp = CurOp + 1;
1773 CurOp++;
1784 emitMemModRMByte(MI, FirstMemOp, getX86RegNum(MI.getOperand(CurOp)),
1786 CurOp = FirstMemOp + X86::AddrNumOperands;
1788 I8RegNum = getX86RegEncoding(MI, CurOp++);
1792 unsigned FirstMemOp = CurOp + 1;
1796 emitMemModRMByte(MI, FirstMemOp, getX86RegNum(MI.getOperand(CurOp)),
1798 CurOp = FirstMemOp + X86::AddrNumOperands;
1799 ++CurOp; // Encoded in VEX.VVVV.
1803 unsigned FirstMemOp = CurOp + 1;
1813 emitMemModRMByte(MI, FirstMemOp, getX86RegNum(MI.getOperand(CurOp)),
1815 CurOp = FirstMemOp + X86::AddrNumOperands;
1820 ++CurOp;
1821 unsigned RegOp = CurOp++;
1822 unsigned FirstMemOp = CurOp;
1823 CurOp = FirstMemOp + X86::AddrNumOperands;
1825 unsigned CC = MI.getOperand(CurOp++).getImm();
1834 unsigned RegOp = CurOp++;
1836 unsigned CC = MI.getOperand(CurOp++).getImm();
1852 ++CurOp;
1854 ++CurOp;
1856 emitRegModRMByte(MI.getOperand(CurOp++),
1861 emitByte(modRMByte(3, getX86RegNum(MI.getOperand(CurOp++)), 0), CB);
1865 unsigned FirstMemOp = CurOp;
1866 CurOp = FirstMemOp + X86::AddrNumOperands;
1868 unsigned CC = MI.getOperand(CurOp++).getImm();
1886 ++CurOp;
1888 ++CurOp;
1890 emitMemModRMByte(MI, CurOp,
1893 CurOp += X86::AddrNumOperands;
1982 if (CurOp != NumOps) {
1983 unsigned Val = MI.getOperand(CurOp++).getImm();
1995 unsigned RemaningOps = NumOps - CurOp - 2 * HasTwoConditionalOps;
1997 emitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
2002 CurOp += 2 * HasTwoConditionalOps;
2012 if (/*!Desc.isVariadic() &&*/ CurOp != NumOps) {