Lines Matching defs:machInst

56 MacroMemOp::MacroMemOp(const char *mnem, ExtMachInst machInst,
60 PredMacroOp(mnem, machInst, __opClass)
100 *uop++ = new MicroAddiUop(machInst, INTREG_UREG0, rn, 0);
127 *uop = new MicroLdr2Uop(machInst, reg_idx1, reg_idx2,
157 *uop = new MicroLdrUop(machInst, INTREG_UREG1,
161 *uop = new MicroLdrRetUop(machInst, reg_idx,
165 *uop = new MicroLdrUop(machInst, reg_idx,
180 *uop = new MicroStrUop(machInst, reg_idx, rn, up, addr);
195 *uop++ = new MicroAddiUop(machInst, rn, rn, ones * 4);
197 *uop++ = new MicroSubiUop(machInst, rn, rn, ones * 4);
202 *uop = new MicroUopRegMovRet(machInst, 0, INTREG_UREG1);
204 *uop = new MicroUopRegMov(machInst, INTREG_PC, INTREG_UREG1);
242 PairMemOp::PairMemOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
247 PredMacroOp(mnem, machInst, __opClass)
265 *uop++ = new MicroAddXiSpAlignUop(machInst, INTREG_UREG0, rn,
272 *uop++ = new MicroLdFp16Uop(machInst, rt,
274 *uop++ = new MicroLdFp16Uop(machInst, rt2,
277 *uop++ = new MicroStrQBFpXImmUop(machInst, rt,
279 *uop++ = new MicroStrQTFpXImmUop(machInst, rt,
281 *uop++ = new MicroStrQBFpXImmUop(machInst, rt2,
283 *uop++ = new MicroStrQTFpXImmUop(machInst, rt2,
288 *uop++ = new MicroLdPairFp8Uop(machInst, rt, rt2,
291 *uop++ = new MicroStrFpXImmUop(machInst, rt,
293 *uop++ = new MicroStrFpXImmUop(machInst, rt2,
298 *uop++ = new MicroLdrDFpXImmUop(machInst, rt, rt2,
301 *uop++ = new MicroStrDFpXImmUop(machInst, rt, rt2,
308 *uop++ = new MicroLdPairUop(machInst, rt, rt2,
311 *uop++ = new MicroStrXImmUop(machInst, rt, post ? rn : INTREG_UREG0,
313 *uop++ = new MicroStrXImmUop(machInst, rt2, post ? rn : INTREG_UREG0,
319 *uop++ = new MicroLdrDSXImmUop(machInst, rt, rt2,
322 *uop++ = new MicroLdrDUXImmUop(machInst, rt, rt2,
326 *uop++ = new MicroStrDXImmUop(machInst, rt, rt2,
333 *uop++ = new MicroAddXiUop(machInst, rn, post ? rn : INTREG_UREG0,
347 BigFpMemImmOp::BigFpMemImmOp(const char *mnem, ExtMachInst machInst,
350 PredMacroOp(mnem, machInst, __opClass)
358 *uop = new MicroLdFp16Uop(machInst, dest, base, imm);
360 *uop = new MicroStrQBFpXImmUop(machInst, dest, base, imm);
362 *++uop = new MicroStrQTFpXImmUop(machInst, dest, base, imm);
368 BigFpMemPostOp::BigFpMemPostOp(const char *mnem, ExtMachInst machInst,
371 PredMacroOp(mnem, machInst, __opClass)
379 *uop++ = new MicroLdFp16Uop(machInst, dest, base, 0);
381 *uop++= new MicroStrQBFpXImmUop(machInst, dest, base, 0);
382 *uop++ = new MicroStrQTFpXImmUop(machInst, dest, base, 0);
384 *uop = new MicroAddXiUop(machInst, base, base, imm);
394 BigFpMemPreOp::BigFpMemPreOp(const char *mnem, ExtMachInst machInst,
397 PredMacroOp(mnem, machInst, __opClass)
405 *uop++ = new MicroLdFp16Uop(machInst, dest, base, imm);
407 *uop++ = new MicroStrQBFpXImmUop(machInst, dest, base, imm);
408 *uop++ = new MicroStrQTFpXImmUop(machInst, dest, base, imm);
410 *uop = new MicroAddXiUop(machInst, base, base, imm);
420 BigFpMemRegOp::BigFpMemRegOp(const char *mnem, ExtMachInst machInst,
424 PredMacroOp(mnem, machInst, __opClass)
432 *uop = new MicroLdFp16RegUop(machInst, dest, base,
435 *uop = new MicroStrQBFpXRegUop(machInst, dest, base,
438 *++uop = new MicroStrQTFpXRegUop(machInst, dest, base,
446 BigFpMemLitOp::BigFpMemLitOp(const char *mnem, ExtMachInst machInst,
449 PredMacroOp(mnem, machInst, __opClass)
454 microOps[0] = new MicroLdFp16LitUop(machInst, dest, imm);
459 VldMultOp::VldMultOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
462 PredMacroOp(mnem, machInst, __opClass)
483 size, machInst, rMid, rn, 0, align);
485 size, machInst, rMid + 4, rn, 16, noAlign);
489 size, machInst, rMid, rn, 0, align);
491 size, machInst, rMid + 4, rn, 16, noAlign);
495 size, machInst, rMid, rn, 0, align);
499 size, machInst, rMid, rn, 0, align);
503 microOps[uopIdx++] = new Unknown(machInst);
508 new MicroAddUop(machInst, rn, rn, rm, 0, ArmISA::LSL);
511 new MicroAddiUop(machInst, rn, rn, regs * 8);
519 size, machInst, vd * 2, rMid, inc * 2);
524 size, machInst, vd * 2, rMid, inc * 2);
530 size, machInst, vd * 2, rMid, inc * 2);
532 size, machInst, vd * 2 + 2, rMid + 4, inc * 2);
535 size, machInst, vd * 2, rMid, inc * 2);
540 microOps[uopIdx++] = new Unknown(machInst);
554 VldSingleOp::VldSingleOp(const char *mnem, ExtMachInst machInst,
559 PredMacroOp(mnem, machInst, __opClass)
584 machInst, ufp0, rn, 0, align);
589 machInst, ufp0, rn, 0, align);
592 machInst, ufp0, rn, 0, align);
597 machInst, ufp0, rn, 0, align);
603 machInst, ufp0, rn, 0, align);
607 machInst, ufp0, rn, 0, align);
611 machInst, ufp0, rn, 0, align);
617 machInst, ufp0, rn, 0, align);
623 machInst, ufp0, rn, 0, align);
627 machInst, ufp0, rn, 0, align);
633 machInst, ufp0, rn, 0, align);
637 machInst, ufp0, rn, 0, align);
641 microOps[uopIdx++] = new Unknown(machInst);
646 new MicroAddUop(machInst, rn, rn, rm, 0, ArmISA::LSL);
649 new MicroAddiUop(machInst, rn, rn, loadSize);
659 machInst, vd * 2, ufp0, inc * 2);
662 machInst, vd * 2, ufp0, inc * 2, lane);
668 machInst, vd * 2, ufp0, inc * 2);
671 machInst, vd * 2, ufp0, inc * 2, lane);
677 machInst, vd * 2, ufp0, inc * 2);
680 machInst, vd * 2, ufp0, inc * 2, lane);
685 microOps[uopIdx++] = new Unknown(machInst);
695 machInst, vd * 2, ufp0, inc * 2);
698 machInst, vd * 2, ufp0, inc * 2, lane);
704 machInst, vd * 2, ufp0, inc * 2);
707 machInst, vd * 2, ufp0, inc * 2, lane);
713 machInst, vd * 2, ufp0, inc * 2);
716 machInst, vd * 2, ufp0, inc * 2, lane);
721 microOps[uopIdx++] = new Unknown(machInst);
732 machInst, vd * 2, ufp0, inc * 2);
735 machInst, vd * 2, ufp0, inc * 2, lane);
741 machInst, vd * 2, ufp0, inc * 2);
744 machInst, vd * 2, ufp0, inc * 2, lane);
750 machInst, vd * 2, ufp0, inc * 2);
753 machInst, vd * 2, ufp0, inc * 2, lane);
758 microOps[uopIdx++] = new Unknown(machInst);
771 machInst, (vd + offset) * 2, ufp0, inc * 2);
775 machInst, (vd + offset) * 2, ufp0, inc * 2, lane);
782 machInst, (vd + offset) * 2, ufp0, inc * 2);
786 machInst, (vd + offset) * 2, ufp0, inc * 2, lane);
793 machInst, (vd + offset) * 2, ufp0, inc * 2);
797 machInst, (vd + offset) * 2, ufp0, inc * 2, lane);
802 microOps[uopIdx++] = new Unknown(machInst);
809 microOps[uopIdx++] = new Unknown(machInst);
822 VstMultOp::VstMultOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
825 PredMacroOp(mnem, machInst, __opClass)
848 size, machInst, rMid, vd * 2, inc * 2);
853 size, machInst, rMid, vd * 2, inc * 2);
859 size, machInst, rMid, vd * 2, inc * 2);
861 size, machInst, rMid + 4, vd * 2 + 2, inc * 2);
864 size, machInst, rMid, vd * 2, inc * 2);
869 microOps[uopIdx++] = new Unknown(machInst);
875 size, machInst, rMid, rn, 0, align);
877 size, machInst, rMid + 4, rn, 16, noAlign);
881 size, machInst, rMid, rn, 0, align);
883 size, machInst, rMid + 4, rn, 16, noAlign);
887 size, machInst, rMid, rn, 0, align);
891 size, machInst, rMid, rn, 0, align);
895 microOps[uopIdx++] = new Unknown(machInst);
900 new MicroAddUop(machInst, rn, rn, rm, 0, ArmISA::LSL);
903 new MicroAddiUop(machInst, rn, rn, regs * 8);
917 VstSingleOp::VstSingleOp(const char *mnem, ExtMachInst machInst,
922 PredMacroOp(mnem, machInst, __opClass)
951 machInst, ufp0, vd * 2, inc * 2, lane);
955 machInst, ufp0, vd * 2, inc * 2, lane);
959 machInst, ufp0, vd * 2, inc * 2, lane);
963 microOps[uopIdx++] = new Unknown(machInst);
972 machInst, ufp0, vd * 2, inc * 2, lane);
976 machInst, ufp0, vd * 2, inc * 2, lane);
980 machInst, ufp0, vd * 2, inc * 2, lane);
984 microOps[uopIdx++] = new Unknown(machInst);
994 machInst, ufp0, vd * 2, inc * 2, lane);
998 machInst, ufp0, vd * 2, inc * 2, lane);
1002 machInst, ufp0, vd * 2, inc * 2, lane);
1006 microOps[uopIdx++] = new Unknown(machInst);
1017 machInst, ufp0, (vd + offset) * 2, inc * 2, lane);
1021 machInst, ufp0, (vd + offset) * 2, inc * 2, lane);
1025 machInst, ufp0, (vd + offset) * 2, inc * 2, lane);
1029 microOps[uopIdx++] = new Unknown(machInst);
1036 microOps[uopIdx++] = new Unknown(machInst);
1041 machInst, ufp0, rn, 0, align);
1046 machInst, ufp0, rn, 0, align);
1049 machInst, ufp0, rn, 0, align);
1054 machInst, ufp0, rn, 0, align);
1060 machInst, ufp0, rn, 0, align);
1064 machInst, ufp0, rn, 0, align);
1068 machInst, ufp0, rn, 0, align);
1074 machInst, ufp0, rn, 0, align);
1080 machInst, ufp0, rn, 0, align);
1084 machInst, ufp0, rn, 0, align);
1090 machInst, ufp0, rn, 0, align);
1094 machInst, ufp0, rn, 0, align);
1098 microOps[uopIdx++] = new Unknown(machInst);
1103 new MicroAddUop(machInst, rn, rn, rm, 0, ArmISA::LSL);
1106 new MicroAddiUop(machInst, rn, rn, storeSize);
1120 VldMultOp64::VldMultOp64(const char *mnem, ExtMachInst machInst,
1124 PredMacroOp(mnem, machInst, __opClass)
1154 machInst, vx + (RegIndex) i, rnsp, 16 * i, memaccessFlags,
1158 machInst, vx + (RegIndex) i, rnsp, 16 * i, memaccessFlags, baseIsSP,
1166 microOps[uopIdx++] = new MicroAddXERegUop(machInst, rnsp, rnsp, rm,
1169 microOps[uopIdx++] = new MicroAddXiUop(machInst, rnsp, rnsp,
1177 machInst, vd + (RegIndex) (2 * i), vx, eSize, dataSize,
1181 machInst, vd + (RegIndex) (2 * i), vx, eSize, dataSize,
1185 machInst, vd + (RegIndex) (2 * i), vx, eSize, dataSize,
1189 machInst, vd + (RegIndex) (2 * i), vx, eSize, dataSize,
1205 VstMultOp64::VstMultOp64(const char *mnem, ExtMachInst machInst,
1209 PredMacroOp(mnem, machInst, __opClass)
1237 machInst, vx + (RegIndex) (2 * i), vd, eSize, dataSize,
1241 machInst, vx + (RegIndex) (2 * i), vd, eSize, dataSize,
1245 machInst, vx + (RegIndex) (2 * i), vd, eSize, dataSize,
1249 machInst, vx + (RegIndex) (2 * i), vd, eSize, dataSize,
1262 machInst, vx + (RegIndex) i, rnsp, 16 * i, memaccessFlags,
1266 machInst, vx + (RegIndex) i, rnsp, 16 * i, memaccessFlags, baseIsSP,
1274 microOps[uopIdx++] = new MicroAddXERegUop(machInst, rnsp, rnsp, rm,
1277 microOps[uopIdx++] = new MicroAddXiUop(machInst, rnsp, rnsp,
1290 VldSingleOp64::VldSingleOp64(const char *mnem, ExtMachInst machInst,
1295 PredMacroOp(mnem, machInst, __opClass),
1330 machInst, vx + (RegIndex) i, rnsp, 16 * i, memaccessFlags,
1334 machInst, vx + (RegIndex) i, rnsp, 16 * i, memaccessFlags, baseIsSP,
1342 microOps[uopIdx++] = new MicroAddXERegUop(machInst, rnsp, rnsp, rm,
1345 microOps[uopIdx++] = new MicroAddXiUop(machInst, rnsp, rnsp,
1352 machInst, vd + (RegIndex) (2 * i), vx, eSize, dataSize,
1364 VstSingleOp64::VstSingleOp64(const char *mnem, ExtMachInst machInst,
1369 PredMacroOp(mnem, machInst, __opClass),
1399 machInst, vx + (RegIndex) (2 * i), vd, eSize, dataSize,
1409 machInst, vx + (RegIndex) i, rnsp, 16 * i, memaccessFlags,
1413 machInst, vx + (RegIndex) i, rnsp, 16 * i, memaccessFlags, baseIsSP,
1421 microOps[uopIdx++] = new MicroAddXERegUop(machInst, rnsp, rnsp, rm,
1424 microOps[uopIdx++] = new MicroAddXiUop(machInst, rnsp, rnsp,
1437 MacroVFPMemOp::MacroVFPMemOp(const char *mnem, ExtMachInst machInst,
1441 PredMacroOp(mnem, machInst, __opClass)
1470 microOps[i++] = new MicroLdrFpUop(machInst, vd++, rn,
1473 microOps[i++] = new MicroLdrDBFpUop(machInst, vd++, rn,
1475 microOps[i++] = new MicroLdrDTFpUop(machInst, vd++, rn, tempUp,
1480 microOps[i++] = new MicroStrFpUop(machInst, vd++, rn,
1483 microOps[i++] = new MicroStrDBFpUop(machInst, vd++, rn,
1485 microOps[i++] = new MicroStrDTFpUop(machInst, vd++, rn, tempUp,
1505 new MicroAddiUop(machInst, rn, rn, 4 * offset);
1508 new MicroSubiUop(machInst, rn, rn, 4 * offset);