Lines Matching defs:bundle
44 * A bundle can optionally have 128-bits of embedded constants, shared across
45 * all of the instructions within a bundle.
49 * within the same bundle they are consumed.
52 * same bundle as the branch, with no hanging dependencies.
255 /* How many bytes does this ALU instruction add to the bundle? */
270 /* We would like to flatten the linked list of midgard_instructions in a bundle
357 /* State for bundle constants. constants is the actual constants
358 * for the bundle. constant_count is the number of bytes (up to
790 * best bundle type (ALU, load/store, texture). Nondestructive. */
799 /* At the moment, our algorithm is very simple - use the bundle of the
864 * - Move the conditional into the bundle. Preferred, but only works if the
892 /* Must fit in an ALU bundle */
1016 /* Schedules a single bundle of the given type */
1163 struct midgard_bundle bundle = {};
1165 unsigned bytes_emitted = sizeof(bundle.control);
1171 .constants = &bundle.constants
1213 bundle.last_writeout = branch->last_writeout;
1218 * This is important because both writeout and csel have same-bundle
1367 bundle.has_embedded_constants = predicate.constant_mask != 0;
1371 /* Now that we have finished scheduling, build up the bundle */
1376 bundle.control |= stages[i]->unit;
1378 bundle.instructions[bundle.instruction_count++] = stages[i];
1382 * break the bundle but this is probably easier for
1398 if (bundle.has_embedded_constants)
1402 bundle.tag = (TAG_ALU_4) + (bytes_emitted / 16) - 1;
1409 bundle.tag += 4;
1411 bundle.padding = padding;
1412 bundle.control |= bundle.tag;
1414 return bundle;
1418 * While we go, tally about the bundle sizes to compute the block size. */
1456 midgard_bundle bundle;
1459 bundle = mir_schedule_texture(instructions, liveness, worklist, len, ctx->stage != MESA_SHADER_FRAGMENT);
1461 bundle = mir_schedule_ldst(instructions, liveness, worklist, len, &num_ldst);
1463 bundle = mir_schedule_alu(ctx, instructions, liveness, worklist, len);
1467 for (unsigned i = 0; i < bundle.instruction_count; ++i)
1468 bundle.instructions[i]->bundle_id =
1471 util_dynarray_append(&bundles, midgard_bundle, bundle);
1472 block->quadword_count += midgard_tag_props[bundle.tag].size;
1480 util_dynarray_foreach_reverse(&bundles, midgard_bundle, bundle) {
1481 util_dynarray_append(&block->bundles, midgard_bundle, *bundle);