Lines Matching defs:O

77                                    raw_ostream &O) {
83 if (printSysAlias(MI, STI, O)) {
84 printAnnotation(O, Annot);
89 if (printSyspAlias(MI, STI, O)) {
90 printAnnotation(O, Annot);
96 if (printRangePrefetchAlias(MI, STI, O, Annot))
136 O << '\t' << AsmMnemonic << '\t';
137 printRegName(O, Op0.getReg());
138 O << ", ";
139 printRegName(O, getWRegFromXReg(Op1.getReg()));
140 printAnnotation(O, Annot);
174 O << '\t' << AsmMnemonic << '\t';
175 printRegName(O, Op0.getReg());
176 O << ", ";
177 printRegName(O, Op1.getReg());
178 O << ", ";
179 markup(O, Markup::Immediate) << "#" << shift;
180 printAnnotation(O, Annot);
187 O << '\t' << (IsSigned ? "sbfiz" : "ubfiz") << '\t';
188 printRegName(O, Op0.getReg());
189 O << ", ";
190 printRegName(O, Op1.getReg());
191 O << ", ";
192 markup(O, Markup::Immediate) << "#" << (Is64Bit ? 64 : 32) - Op2.getImm();
193 O << ", ";
194 markup(O, Markup::Immediate) << "#" << Op3.getImm() + 1;
195 printAnnotation(O, Annot);
200 O << '\t' << (IsSigned ? "sbfx" : "ubfx") << '\t';
201 printRegName(O, Op0.getReg());
202 O << ", ";
203 printRegName(O, Op1.getReg());
204 O << ", ";
205 markup(O, Markup::Immediate) << "#" << Op2.getImm();
206 O << ", ";
207 markup(O, Markup::Immediate) << "#" << Op3.getImm() - Op2.getImm() + 1;
208 printAnnotation(O, Annot);
225 O << "\tbfc\t";
226 printRegName(O, Op0.getReg());
227 O << ", ";
228 markup(O, Markup::Immediate) << "#" << LSB;
229 O << ", ";
230 markup(O, Markup::Immediate) << "#" << Width;
231 printAnnotation(O, Annot);
239 O << "\tbfi\t";
240 printRegName(O, Op0.getReg());
241 O << ", ";
242 printRegName(O, Op2.getReg());
243 O << ", ";
244 markup(O, Markup::Immediate) << "#" << LSB;
245 O << ", ";
246 markup(O, Markup::Immediate) << "#" << Width;
247 printAnnotation(O, Annot);
254 O << "\tbfxil\t";
255 printRegName(O, Op0.getReg());
256 O << ", ";
257 printRegName(O, Op2.getReg());
258 O << ", ";
259 markup(O, Markup::Immediate) << "#" << LSB;
260 O << ", ";
261 markup(O, Markup::Immediate) << "#" << Width;
262 printAnnotation(O, Annot);
273 O << "\tmovz\t";
275 O << "\tmovn\t";
277 printRegName(O, MI->getOperand(0).getReg());
278 O << ", ";
280 WithMarkup M = markup(O, Markup::Immediate);
281 O << "#";
282 MI->getOperand(1).getExpr()->print(O, &MAI);
289 O << "\tmovk\t";
290 printRegName(O, MI->getOperand(0).getReg());
291 O << ", ";
293 WithMarkup M = markup(O, Markup::Immediate);
294 O << "#";
295 MI->getOperand(2).getExpr()->print(O, &MAI);
302 O << "\tmov\t";
303 printRegName(O, MI->getOperand(0).getReg());
304 O << ", ";
305 markup(O, Markup::Immediate) << "#" << formatImm(SExtVal);
363 O << '\t' << MAI.getCommentString() << " SPACE "
365 printAnnotation(O, Annot);
372 O << "\ttsb\tcsync";
376 if (!PrintAliases || !printAliasInstr(MI, Address, STI, O))
377 printInstruction(MI, Address, STI, O);
379 printAnnotation(O, Annot);
384 printAnnotation(O, "acquire semantics dropped since destination is zero");
787 raw_ostream &O) {
793 O << "\t" << (IsTbx ? "tbx" : "tbl") << Layout << '\t';
794 printRegName(O, MI->getOperand(0).getReg(), AArch64::vreg);
795 O << ", ";
798 printVectorList(MI, ListOpNum, STI, O, "");
800 O << ", ";
801 printRegName(O, MI->getOperand(ListOpNum + 1).getReg(), AArch64::vreg);
802 printAnnotation(O, Annot);
807 O << "\t" << LdStDesc->Mnemonic << LdStDesc->Layout << '\t';
812 printVectorList(MI, OpNum++, STI, O, "");
815 O << '[' << MI->getOperand(OpNum++).getImm() << ']';
819 O << ", [";
820 printRegName(O, AddrReg);
821 O << ']';
827 O << ", ";
828 printRegName(O, Reg);
831 O << ", ";
832 markup(O, Markup::Immediate) << "#" << LdStDesc->NaturalOffset;
836 printAnnotation(O, Annot);
840 AArch64InstPrinter::printInst(MI, Address, Annot, STI, O);
849 raw_ostream &O,
882 O << "\trprfm ";
884 O << RPRFM->Name << ", ";
886 O << "#" << formatImm(RPRFOp) << ", ";
887 O << getRegisterName(Rm);
888 O << ", [";
889 printOperand(MI, 1, STI, O); // "Rn".
890 O << "]";
892 printAnnotation(O, Annot);
899 raw_ostream &O) {
1008 O << '\t' << Str;
1010 O << ", ";
1011 printRegName(O, MI->getOperand(4).getReg());
1019 raw_ostream &O) {
1067 O << '\t' << Str;
1068 O << ", ";
1070 printSyspXzrPair(MI, 4, STI, O);
1072 printGPRSeqPairsClassOperand<64>(MI, 4, STI, O);
1080 raw_ostream &O) {
1084 printRegName(O, RegOp.getReg());
1089 O << ".b";
1092 O << ".h";
1095 O << ".s";
1098 O << ".d";
1101 O << ".q";
1111 raw_ostream &O) {
1119 O << Base << (IsVertical ? "v" : "h") << '.' << Suffix;
1124 raw_ostream &O) {
1127 printRegName(O, RegOp.getReg());
1132 raw_ostream &O) {
1138 O << SVCR->Name;
1143 raw_ostream &O) {
1147 printRegName(O, Reg);
1149 printImm(MI, OpNo, STI, O);
1152 Op.getExpr()->print(O, &MAI);
1158 raw_ostream &O) {
1160 markup(O, Markup::Immediate) << "#" << formatImm(Op.getImm());
1165 raw_ostream &O) {
1167 markup(O, Markup::Immediate) << format("#%#llx", Op.getImm());
1173 raw_ostream &O) {
1176 markup(O, Markup::Immediate) << "#" << formatImm((signed char)Op.getImm());
1178 markup(O, Markup::Immediate) << "#" << formatImm((signed short)Op.getImm());
1180 markup(O, Markup::Immediate) << "#" << formatImm(Op.getImm());
1184 unsigned Imm, raw_ostream &O) {
1189 markup(O, Markup::Immediate) << "#" << Imm;
1191 printRegName(O, Reg);
1198 raw_ostream &O) {
1202 printRegName(O, Reg, AArch64::vreg);
1207 raw_ostream &O) {
1210 O << "c" << Op.getImm();
1215 raw_ostream &O) {
1222 markup(O, Markup::Immediate) << '#' << formatImm(Val);
1224 printShifter(MI, OpNum + 1, STI, O);
1230 MO.getExpr()->print(O, &MAI);
1231 printShifter(MI, OpNum + 1, STI, O);
1238 raw_ostream &O) {
1240 WithMarkup M = markup(O, Markup::Immediate);
1241 O << "#0x";
1242 O.write_hex(AArch64_AM::decodeLogicalImmediate(Val, 8 * sizeof(T)));
1247 raw_ostream &O) {
1253 O << ", " << AArch64_AM::getShiftExtendName(AArch64_AM::getShiftType(Val))
1255 markup(O, Markup::Immediate) << "#" << AArch64_AM::getShiftValue(Val);
1260 raw_ostream &O) {
1261 printRegName(O, MI->getOperand(OpNum).getReg());
1262 printShifter(MI, OpNum + 1, STI, O);
1267 raw_ostream &O) {
1268 printRegName(O, MI->getOperand(OpNum).getReg());
1269 printArithExtend(MI, OpNum + 1, STI, O);
1274 raw_ostream &O) {
1290 O << ", lsl ";
1291 markup(O, Markup::Immediate) << "#" << ShiftVal;
1296 O << ", " << AArch64_AM::getShiftExtendName(ExtType);
1298 O << " ";
1299 markup(O, Markup::Immediate) << "#" << ShiftVal;
1305 raw_ostream &O) {
1309 O << "lsl";
1311 O << (SignExtend ? 's' : 'u') << "xt" << SrcRegKind;
1314 O << " ";
1315 markup(O, Markup::Immediate) << "#" << Log2_32(Width / 8);
1320 raw_ostream &O, char SrcRegKind,
1324 printMemExtendImpl(SignExtend, DoShift, Width, SrcRegKind, O);
1331 raw_ostream &O) {
1332 printOperand(MI, OpNum, STI, O);
1334 O << '.' << Suffix;
1340 O << ", ";
1341 printMemExtendImpl(SignExtend, DoShift, ExtWidth, SrcRegKind, O);
1349 raw_ostream &O) {
1353 O << "pn" << Reg - AArch64::PN0;
1359 O << ".b";
1362 O << ".h";
1365 O << ".s";
1368 O << ".d";
1377 raw_ostream &O) {
1379 O << AArch64CC::getCondCodeName(CC);
1384 raw_ostream &O) {
1386 O << AArch64CC::getCondCodeName(AArch64CC::getInvertedCondCode(CC));
1391 raw_ostream &O) {
1392 O << '[';
1393 printRegName(O, MI->getOperand(OpNum).getReg());
1394 O << ']';
1400 raw_ostream &O) {
1401 markup(O, Markup::Immediate)
1408 raw_ostream &O) {
1410 O << formatImm(FirstImm);
1411 O << ":" << formatImm(FirstImm + Offset);
1415 unsigned Scale, raw_ostream &O) {
1418 markup(O, Markup::Immediate) << '#' << formatImm(MO.getImm() * Scale);
1421 MO.getExpr()->print(O, &MAI);
1426 unsigned Scale, raw_ostream &O) {
1428 O << '[';
1429 printRegName(O, MI->getOperand(OpNum).getReg());
1431 O << ", ";
1432 markup(O, Markup::Immediate) << "#" << formatImm(MO1.getImm() * Scale);
1435 O << ", ";
1436 MO1.getExpr()->print(O, &MAI);
1438 O << ']';
1443 raw_ostream &O) {
1446 O << PRFM->Name;
1450 O << '#' << formatImm(prfop);
1456 raw_ostream &O) {
1460 O << PRFM->Name;
1466 O << PRFM->Name;
1471 markup(O, Markup::Immediate) << '#' << formatImm(prfop);
1476 raw_ostream &O) {
1480 O << PSB->Name;
1482 markup(O, Markup::Immediate) << '#' << formatImm(psbhintop);
1487 raw_ostream &O) {
1491 O << BTI->Name;
1493 markup(O, Markup::Immediate) << '#' << formatImm(btihintop);
1498 raw_ostream &O) {
1504 markup(O, Markup::Immediate) << format("#%.8f", FPImm);
1608 raw_ostream &O) {
1618 printRegName(O, Even);
1619 O << ", ";
1620 printRegName(O, Odd);
1625 raw_ostream &O) {
1634 O << "{";
1640 printRegName(O, AArch64::ZAD0 + I);
1642 O << ", ";
1645 O << "}";
1650 raw_ostream &O,
1654 O << "{ ";
1705 printRegName(O, Reg);
1706 O << LayoutSuffix;
1710 O << split_char;
1711 printRegName(O, (getNextVectorRegister(Reg, NumRegs - 1)));
1712 O << LayoutSuffix;
1720 printRegName(O, Reg);
1722 printRegName(O, Reg, AArch64::vreg);
1723 O << LayoutSuffix;
1725 O << ", ";
1728 O << " }";
1735 raw_ostream &O) {
1736 printVectorList(MI, OpNum, STI, O, "");
1742 raw_ostream &O) {
1744 printVectorList(MI, OpNum, STI, O, "");
1753 printVectorList(MI, OpNum, STI, O, Suffix);
1759 raw_ostream &O) {
1760 O << "[" << Scale * MI->getOperand(OpNum).getImm() << "]";
1766 raw_ostream &O) {
1767 O << Scale * MI->getOperand(OpNum).getImm();
1773 raw_ostream &O) {
1781 markup(O, Markup::Target) << formatHex(Address + Offset);
1783 markup(O, Markup::Immediate) << "#" << formatImm(Offset);
1792 markup(O, Markup::Target) << formatHex((uint64_t)TargetAddress);
1795 MI->getOperand(OpNum).getExpr()->print(O, &MAI);
1802 raw_ostream &O) {
1813 WithMarkup M = markup(O, Markup::Immediate);
1815 markup(O, Markup::Target) << formatHex(Address + Offset);
1817 markup(O, Markup::Immediate) << "#" << Offset;
1822 MI->getOperand(OpNum).getExpr()->print(O, &MAI);
1827 raw_ostream &O) {
1843 O << Name;
1845 markup(O, Markup::Immediate) << "#" << Val;
1850 raw_ostream &O) {
1859 O << Name;
1861 markup(O, Markup::Immediate) << "#" << Val;
1888 raw_ostream &O) {
1895 O << "DBGDTRRX_EL0";
1901 O << "TRCEXTINSELR";
1908 O << Reg->Name;
1910 O << AArch64SysReg::genericRegisterString(Val);
1915 raw_ostream &O) {
1922 O << "DBGDTRTX_EL0";
1928 O << "TRCEXTINSELR";
1935 O << Reg->Name;
1937 O << AArch64SysReg::genericRegisterString(Val);
1942 raw_ostream &O) {
1948 O << PStateImm15->Name;
1950 O << PStateImm1->Name;
1952 O << "#" << formatImm(Val);
1957 raw_ostream &O) {
1960 markup(O, Markup::Immediate) << format("#%#016llx", Val);
1966 raw_ostream &O) {
1968 markup(O, Markup::Immediate) << "#" << (Val * Angle) + Remainder;
1973 raw_ostream &O) {
1976 O << Pat->Name;
1978 markup(O, Markup::Immediate) << '#' << formatImm(Val);
1984 raw_ostream &O) {
1991 O << Pat->Name;
1999 raw_ostream &O) {
2012 printRegName(O, Reg);
2014 O << '.' << suffix;
2018 void AArch64InstPrinter::printImmSVE(T Value, raw_ostream &O) {
2022 markup(O, Markup::Immediate) << '#' << formatHex((uint64_t)HexValue);
2024 markup(O, Markup::Immediate) << '#' << formatDec(Value);
2038 raw_ostream &O) {
2046 markup(O, Markup::Immediate) << '#' << formatImm(UnscaledVal);
2047 printShifter(MI, OpNum + 1, STI, O);
2057 printImmSVE(Val, O);
2063 raw_ostream &O) {
2072 printImmSVE((T)PrintVal, O);
2074 printImmSVE(PrintVal, O);
2076 markup(O, Markup::Immediate) << '#' << formatHex((uint64_t)PrintVal);
2082 raw_ostream &O) {
2094 printRegName(O, Reg - AArch64::Z0 + Base);
2100 raw_ostream &O) {
2104 markup(O, Markup::Immediate)
2110 raw_ostream &O) {
2112 printRegName(O, getWRegFromXReg(Reg));
2117 raw_ostream &O) {
2119 printRegName(O, MRI.getSubReg(Reg, AArch64::x8sub_0));
2124 raw_ostream &O) {
2128 O << getRegisterName(Reg) << ", " << getRegisterName(Reg);