Lines Matching defs:qinst
49 struct qinst *inst;
281 struct qinst *qinst = n->inst;
282 struct v3d_qpu_instr *inst = &qinst->qpu;
438 if (vir_has_uniform(qinst))
524 struct qinst *qinst)
526 const struct v3d_qpu_instr *inst = &qinst->qpu;
564 struct qinst *qinst)
566 const struct v3d_qpu_instr *inst = &qinst->qpu;
1056 const struct qinst *qinst);
1488 struct qinst *inst)
1497 static struct qinst *
1501 struct qinst *qinst = vir_add_inst(V3D_QPU_A_NOP, undef, undef, undef);
1503 return qinst;
1515 const struct qinst *qinst, int slot)
1517 const struct v3d_qpu_instr *inst = &qinst->qpu;
1519 if (slot == 2 && qinst->is_tlb_z_write)
1522 if (slot > 0 && qinst->uniform != ~0)
1583 const struct qinst *qinst,
1591 qinst->qpu.type == V3D_QPU_INSTR_TYPE_ALU &&
1592 (v3d_qpu_magic_waddr_is_sfu(qinst->qpu.alu.add.waddr) ||
1593 v3d_qpu_magic_waddr_is_sfu(qinst->qpu.alu.mul.waddr))) {
1597 if (slot > 0 && qinst->qpu.sig.ldvary)
1614 if (v3d_qpu_writes_unifa(c->devinfo, &qinst->qpu))
1630 const struct qinst *qinst)
1642 if (qinst->qpu.sig.thrsw)
1649 if (!qpu_inst_before_thrsw_valid_in_delay_slot(c, qinst, slot))
1655 if (qpu_inst_is_tlb(&qinst->qpu))
1661 if (qinst->qpu.type == V3D_QPU_INSTR_TYPE_BRANCH)
1674 if (v3d_qpu_writes_tmu(c->devinfo, &qinst->qpu) ||
1675 qinst->qpu.sig.wrtmuc) {
1684 if (v3d_qpu_waits_on_tmu(&qinst->qpu))
1690 if (v3d_qpu_writes_accum(c->devinfo, &qinst->qpu))
1696 if (qinst->qpu.alu.mul.op == V3D_QPU_M_MULTOP)
1702 if (v3d_qpu_writes_flags(&qinst->qpu))
1710 if (qinst->qpu.alu.add.op == V3D_QPU_A_BARRIERID)
1718 struct qinst *qinst, int instructions_in_sequence,
1728 if (!qpu_inst_before_thrsw_valid_in_delay_slot(c, qinst, slot))
1732 !qpu_inst_valid_in_thrend_slot(c, qinst, slot)) {
1739 qinst = (struct qinst *)qinst->link.next;
1753 struct qinst *inst,
1781 struct qinst *merge_inst = NULL;
1853 struct qinst *second_inst =
1854 (struct qinst *)merge_inst->link.next;
1877 qpu_inst_valid_in_branch_delay_slot(struct v3d_compile *c, struct qinst *inst)
1898 struct qinst *inst)
1929 struct qinst *prev_inst = (struct qinst *) inst->link.prev;
1970 struct qinst *prev_prev_inst =
1971 (struct qinst *) prev_inst->link.prev;
2102 struct qinst *prev = (struct qinst *) block->instructions.prev;
2187 struct qinst *qinst = chosen ? chosen->inst : vir_nop();
2188 struct v3d_qpu_instr *inst = &qinst->qpu;
2259 if (qinst->uniform != -1) {
2264 orig_uniform_data[qinst->uniform];
2266 orig_uniform_contents[qinst->uniform];
2267 qinst->uniform = *next_uniform;
2292 time += emit_thrsw(c, block, scoreboard, qinst, false);
2294 emit_branch(c, block, scoreboard, qinst);
2297 scoreboard, qinst);
2320 struct qinst *qinst = (struct qinst *)block->instructions.next;
2325 n->inst = qinst;
2327 list_del(&qinst->link);
2367 struct qinst *branch = NULL;
2370 struct qinst *delay_slots_start = NULL;
2373 struct qinst *inst =
2374 container_of(entry, struct qinst, link);
2429 struct qinst *s_inst =
2430 (struct qinst *) successor_insts->next;
2431 struct qinst *slot = delay_slots_start;
2437 s_inst = (struct qinst *) s_inst->link.next;
2438 slot = (struct qinst *) slot->link.next;
2480 list_for_each_entry(struct qinst, qinst,
2482 v3d_qpu_dump(devinfo, &qinst->qpu);
2506 struct qinst *thrsw = vir_nop();