Lines Matching defs:restore
507 * We are patching control-transfer/restore couplets. There are three
514 * restore rs1, rs2 | imm, rd
517 * restore rs1, rs2 | imm, rd
524 * Note that rs1 and rs2 in the restore instructions in (b) and (c) are
527 * local, ls0, and rs2 into an unused local, ls1, and restructure the restore
530 * restore ls0, ls1, rd
631 * restore %o7 to the value before the call/jmpl, we don't
632 * particularly care how this routine is managing to restore
687 uint32_t cti = *instr, restore = *(instr + 1), rs1, dest;
704 * restore, followed by the instruction in the slot (which
707 * restore/save couplet, one can take solace in the fact that
719 restore = FBT_RESTORE(FBT_REG_G0, FBT_REG_G0, FBT_REG_G0);
722 *tinstr++ = restore;
745 * And mark the locals used in the restore.
747 rs1 = FBT_FMT3_RS1(restore);
750 if (!FBT_FMT3_ISIMM(restore)) {
751 uint32_t rs2 = FBT_FMT3_RS2(restore);
775 rs1 = FBT_FMT3_RS1(restore);
779 FBT_FMT3_RS1_SET(restore, local);
783 if (!FBT_FMT3_ISIMM(restore)) {
784 uint32_t rs2 = FBT_FMT3_RS2(restore);
788 FBT_FMT3_RS2_SET(restore, local);
810 if (FBT_FMT3_RD(restore) == FBT_REG_O0) {
812 * If the destination register of the restore is %o0, we
816 uint32_t add = (restore & ~FBT_FMT3_OP_MASK) | FBT_OP_ADD;
835 *tinstr++ = restore;
1200 * function, we must either (a) discover a restore or (b)
1206 * without executing a restore. Barring a rule to figure out