Lines Matching defs:thrsw
391 if (inst->sig.thrsw) {
976 merge.sig.thrsw |= b->sig.thrsw;
1030 if (prev_inst->inst->qpu.sig.thrsw)
1091 /* If we are in a thrsw delay slot check that this instruction
1128 if (inst->sig.thrsw)
1161 * it in the delay slots of a thrsw, which is not
1538 * This is called when trying to merge a thrsw back into the instruction stream
1539 * of instructions that were scheduled *before* the thrsw signal to fill its
1540 * delay slots. Because the actual execution of the thrsw happens after the
1566 * and not when the thrsw instruction is processed, which would
1567 * be after the 2 delay slots following the thrsw instruction.
1568 * This means that we can move up a thrsw up to the instruction
1572 * thrsw
1584 * This is called for instructions scheduled *after* a thrsw signal that may
1585 * land in the delay slots of the thrsw. Because these instructions were
1586 * scheduled after the thrsw, we need to be careful when placing them into
1598 /* We merge thrsw instructions back into the instruction stream
1599 * manually, so any instructions scheduled after a thrsw shold be
1600 * in the actual delay slots and not in the same slot as the thrsw.
1604 /* No emitting a thrsw while the previous thrsw hasn't happened yet. */
1605 if (qinst->qpu.sig.thrsw)
1608 /* The restrictions for instructions scheduled before the the thrsw
1609 * also apply to instructions scheduled after the thrsw that we want
1622 * slots of a thrsw.
1627 /* Miscellaneous restrictions: At the point of a thrsw we need to have
1630 * So avoid placing TMU instructions scheduled after the thrsw into
1633 * the delay slots of a previous thrsw we could overflow our TMU output
1635 * after the thrsw into the sequence before the thrsw.
1644 * switch, which is exactly what we want to avoid with the thrsw
1676 /* No emitting our thrsw while the previous thrsw hasn't happened yet. */
1713 /* There should be nothing in a thrsw inst being scheduled other than
1720 /* Don't try to emit a thrsw in the delay slots of a previous thrsw
1737 sig.thrsw = true;
1756 merge_inst->qpu.sig.thrsw = true;
1779 second_inst->qpu.sig.thrsw = true;
1806 if (inst->qpu.sig.thrsw)
1827 * thrsw, branch or unifa write instruction.
2048 /* We can't put an ldvary in the delay slots of a thrsw. We should've
2201 if (inst->sig.thrsw) {
2416 struct qinst *thrsw = vir_nop();
2417 thrsw->qpu.sig.thrsw = true;
2418 emit_thrsw(c, end_block, &scoreboard, thrsw, true);