}
}
+static void
+mir_print_swizzle(unsigned *swizzle)
+{
+ printf(".");
+
+ for (unsigned i = 0; i < 16; ++i)
+ putchar(components[swizzle[i]]);
+}
+
static const char *
mir_get_unit(unsigned unit)
{
case TAG_LOAD_STORE_4: {
midgard_load_store_op op = ins->load_store.op;
- const char *name = load_store_opcode_names[op];
+ const char *name = load_store_opcode_props[op].name;
assert(name);
printf("%s", name);
printf(", ");
mir_print_index(ins->src[0]);
+ mir_print_swizzle(ins->swizzle[0]);
printf(", ");
if (ins->has_inline_constant)
printf("#%d", ins->inline_constant);
- else
+ else {
mir_print_index(ins->src[1]);
+ mir_print_swizzle(ins->swizzle[1]);
+ }
printf(", ");
mir_print_index(ins->src[2]);
+ mir_print_swizzle(ins->swizzle[2]);
if (ins->has_constants) {
uint32_t *uc = ins->constants;
mir_print_block(block);
}
}
-
-void
-mir_print_bundle(midgard_bundle *bundle)
-{
- printf("[\n");
-
- for (unsigned i = 0; i < bundle->instruction_count; ++i) {
- midgard_instruction *ins = bundle->instructions[i];
- mir_print_instruction(ins);
- }
-
- printf("]\n");
-}