Lines Matching refs:mul
144 if (inst->alu.mul.magic_write &&
145 (inst->alu.mul.waddr == V3D_QPU_WADDR_TLB ||
146 inst->alu.mul.waddr == V3D_QPU_WADDR_TLBU))
311 if (v3d_qpu_mul_op_num_src(inst->alu.mul.op) > 0)
312 process_mux_deps(state, n, inst->alu.mul.a);
313 if (v3d_qpu_mul_op_num_src(inst->alu.mul.op) > 1)
314 process_mux_deps(state, n, inst->alu.mul.b);
354 switch (inst->alu.mul.op) {
372 if (inst->alu.mul.op != V3D_QPU_M_NOP) {
373 process_waddr_deps(state, n, inst->alu.mul.waddr,
374 inst->alu.mul.magic_write);
545 if (inst->alu.mul.op != V3D_QPU_M_NOP) {
546 if (v3d_qpu_mul_op_num_src(inst->alu.mul.op) > 0 &&
547 mux_reads_too_soon(scoreboard, inst, inst->alu.mul.a)) {
550 if (v3d_qpu_mul_op_num_src(inst->alu.mul.op) > 1 &&
551 mux_reads_too_soon(scoreboard, inst, inst->alu.mul.b)) {
847 if (mul_instr->alu.mul.a == V3D_QPU_MUX_B)
848 result->alu.mul.a = V3D_QPU_MUX_A;
849 if (mul_instr->alu.mul.b == V3D_QPU_MUX_B &&
850 v3d_qpu_mul_op_num_src(mul_instr->alu.mul.op) > 1) {
851 result->alu.mul.b = V3D_QPU_MUX_A;
871 if (mul_instr->alu.mul.a == V3D_QPU_MUX_A)
872 result->alu.mul.a = V3D_QPU_MUX_B;
873 if (mul_instr->alu.mul.b == V3D_QPU_MUX_A &&
874 v3d_qpu_mul_op_num_src(mul_instr->alu.mul.op) > 1) {
875 result->alu.mul.b = V3D_QPU_MUX_B;
910 STATIC_ASSERT(sizeof(inst->alu.mul) == sizeof(inst->alu.add));
912 assert(inst->alu.mul.op == V3D_QPU_M_NOP);
914 memcpy(&inst->alu.mul, &inst->alu.add, sizeof(inst->alu.mul));
915 inst->alu.mul.op = add_op_as_mul_op(inst->alu.add.op);
925 inst->alu.mul.output_pack = inst->alu.add.output_pack;
926 inst->alu.mul.a_unpack = inst->alu.add.a_unpack;
927 inst->alu.mul.b_unpack = inst->alu.add.b_unpack;
962 /* If a's add op is used but its mul op is not, then see if we
963 * can convert either a's add op or b's add op to a mul op
966 else if (a->alu.mul.op == V3D_QPU_M_NOP &&
971 merge.alu.mul = mul_inst.alu.mul;
979 } else if (a->alu.mul.op == V3D_QPU_M_NOP &&
998 if (b->alu.mul.op != V3D_QPU_M_NOP) {
999 if (a->alu.mul.op != V3D_QPU_M_NOP)
1001 merge.alu.mul = b->alu.mul;
1321 if (inst->alu.mul.op != V3D_QPU_M_NOP) {
1322 if (inst->alu.mul.magic_write) {
1324 inst->alu.mul.waddr,
1414 if (before_inst->alu.mul.magic_write) {
1417 before_inst->alu.mul.waddr,
1538 !inst->alu.mul.magic_write) {
1556 inst->alu.mul.a == V3D_QPU_MUX_A ||
1557 inst->alu.mul.b == V3D_QPU_MUX_A)) {
1565 inst->alu.mul.a == V3D_QPU_MUX_B ||
1566 inst->alu.mul.b == V3D_QPU_MUX_B)) {
1593 v3d_qpu_magic_waddr_is_sfu(qinst->qpu.alu.mul.waddr))) {
1696 if (qinst->qpu.alu.mul.op == V3D_QPU_M_MULTOP)
1763 assert(inst->qpu.alu.mul.op == V3D_QPU_M_NOP);
2008 num_src = v3d_qpu_mul_op_num_src(inst->alu.mul.op);
2009 mux_a = inst->alu.mul.a;
2010 mux_b = inst->alu.mul.b;
2113 if (prev->qpu.alu.mul.op != V3D_QPU_M_NOP) {
2114 if (prev->qpu.alu.mul.magic_write == ldvary_magic &&
2115 prev->qpu.alu.mul.waddr == ldvary_index) {