• Home
  • Raw
  • Download

Lines Matching full:bundle

30  * of the current bundle. If it is not, it is promoted to a bundle-specific
34 * pipeline (vmul/sadd) lasting the duration of the bundle only. There are two
45 midgard_bundle *bundle, unsigned i, in mir_pipeline_ins() argument
48 midgard_instruction *ins = bundle->instructions[i]; in mir_pipeline_ins()
51 * created at the start of the bundle and are destroyed at the end. So in mir_pipeline_ins()
55 * 2. The index is not live after the bundle. in mir_pipeline_ins()
59 * creation of the bundle, so the pipeline register can exist. #2 is in mir_pipeline_ins()
73 /* Analyze the bundle for a per-byte read mask */ in mir_pipeline_ins()
75 for (unsigned j = 0; j < bundle->instruction_count; ++j) { in mir_pipeline_ins()
76 midgard_instruction *q = bundle->instructions[j]; in mir_pipeline_ins()
90 for (unsigned j = 0; j < bundle->instruction_count; ++j) { in mir_pipeline_ins()
91 midgard_instruction *q = bundle->instructions[j]; in mir_pipeline_ins()
103 /* We want to know if we live after this bundle, so check if in mir_pipeline_ins()
104 * we're live after the last instruction of the bundle */ in mir_pipeline_ins()
106 midgard_instruction *end = bundle->instructions[ in mir_pipeline_ins()
107 bundle->instruction_count - 1]; in mir_pipeline_ins()
112 /* We're only live in this bundle -- pipeline! */ in mir_pipeline_ins()
115 for (unsigned j = 0; j < bundle->instruction_count; ++j) { in mir_pipeline_ins()
116 midgard_instruction *q = bundle->instructions[j]; in mir_pipeline_ins()
135 mir_foreach_bundle_in_block(block, bundle) { in mir_create_pipeline_registers()
136 if (!mir_is_alu_bundle(bundle)) continue; in mir_create_pipeline_registers()
137 if (bundle->instruction_count < 2) continue; in mir_create_pipeline_registers()
140 bool succ = mir_pipeline_ins(ctx, block, bundle, 0, 0); in mir_create_pipeline_registers()
141 mir_pipeline_ins(ctx, block, bundle, 1, succ); in mir_create_pipeline_registers()