Lines Matching defs:merge

8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
799 /* Take two instructions and attempt to merge their raddr fields
947 struct v3d_qpu_instr merge = *a;
953 merge.alu.add = b->alu.add;
955 merge.flags.ac = b->flags.ac;
956 merge.flags.apf = b->flags.apf;
957 merge.flags.auf = b->flags.auf;
964 * so we can merge.
971 merge.alu.mul = mul_inst.alu.mul;
973 merge.flags.mc = b->flags.ac;
974 merge.flags.mpf = b->flags.apf;
975 merge.flags.muf = b->flags.auf;
984 merge = mul_inst;
985 merge.alu.add = b->alu.add;
987 merge.flags.ac = b->flags.ac;
988 merge.flags.apf = b->flags.apf;
989 merge.flags.auf = b->flags.auf;
1001 merge.alu.mul = b->alu.mul;
1003 merge.flags.mc = b->flags.mc;
1004 merge.flags.mpf = b->flags.mpf;
1005 merge.flags.muf = b->flags.muf;
1012 !qpu_merge_raddrs(&merge, add_instr, mul_instr)) {
1016 merge.sig.thrsw |= b->sig.thrsw;
1017 merge.sig.ldunif |= b->sig.ldunif;
1018 merge.sig.ldunifrf |= b->sig.ldunifrf;
1019 merge.sig.ldunifa |= b->sig.ldunifa;
1020 merge.sig.ldunifarf |= b->sig.ldunifarf;
1021 merge.sig.ldtmu |= b->sig.ldtmu;
1022 merge.sig.ldvary |= b->sig.ldvary;
1023 merge.sig.ldvpm |= b->sig.ldvpm;
1024 merge.sig.small_imm |= b->sig.small_imm;
1025 merge.sig.ldtlb |= b->sig.ldtlb;
1026 merge.sig.ldtlbu |= b->sig.ldtlbu;
1027 merge.sig.ucb |= b->sig.ucb;
1028 merge.sig.rotate |= b->sig.rotate;
1029 merge.sig.wrtmuc |= b->sig.wrtmuc;
1034 merge.sig_addr |= b->sig_addr;
1035 merge.sig_magic |= b->sig_magic;
1038 bool ok = v3d_qpu_instr_pack(devinfo, &merge, &packed);
1040 *result = merge;
1191 /* Don't merge TLB instructions before we have acquired
1198 * to merge it into the previous instruction if
1220 /* Don't merge an instruction that stalls */
1575 * This is called when trying to merge a thrsw back into the instruction stream
1635 /* We merge thrsw instructions back into the instruction stream
1793 /* If we can't merge the thrsw here because of signal
1795 * merge it in an earlier instruction.
1823 * merge the thrsw in the end, we need to adjust slots filled to match
1824 * the last valid merge point.
2059 * we will be able to pick up to merge into 'inst', leading to code like this:
2182 struct schedule_node *merge = NULL;
2200 * we're done identifying instructions to merge, so put the
2213 while ((merge =
2216 time = MAX2(merge->unblocked_time, time);
2217 pre_remove_head(scoreboard->dag, merge);
2218 list_addtail(&merge->link, &merged_list);
2220 inst, &merge->inst->qpu);
2221 if (merge->inst->uniform != -1) {
2223 merge->inst->uniform;
2229 v3d_qpu_dump(devinfo, &merge->inst->qpu);
2240 * now so we can try to merge the
2247 time, merge);
2281 list_for_each_entry(struct schedule_node, merge, &merged_list,
2283 mark_instruction_scheduled(devinfo, scoreboard->dag, time, merge);
2288 free(merge->inst);