mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 08:50:13 +01:00
i965/vec4: Add support for printing HW_REGs in dump_instruction().
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
942151af30
commit
a85f1b7adf
1 changed files with 60 additions and 0 deletions
|
|
@ -1118,6 +1118,33 @@ vec4_visitor::dump_instruction(backend_instruction *be_inst)
|
|||
case MRF:
|
||||
printf("m%d", inst->dst.reg);
|
||||
break;
|
||||
case HW_REG:
|
||||
if (inst->dst.fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE) {
|
||||
switch (inst->dst.fixed_hw_reg.nr) {
|
||||
case BRW_ARF_NULL:
|
||||
printf("null");
|
||||
break;
|
||||
case BRW_ARF_ADDRESS:
|
||||
printf("a0.%d", inst->dst.fixed_hw_reg.subnr);
|
||||
break;
|
||||
case BRW_ARF_ACCUMULATOR:
|
||||
printf("acc%d", inst->dst.fixed_hw_reg.subnr);
|
||||
break;
|
||||
case BRW_ARF_FLAG:
|
||||
printf("f%d.%d", inst->dst.fixed_hw_reg.nr & 0xf,
|
||||
inst->dst.fixed_hw_reg.subnr);
|
||||
break;
|
||||
default:
|
||||
printf("arf%d.%d", inst->dst.fixed_hw_reg.nr & 0xf,
|
||||
inst->dst.fixed_hw_reg.subnr);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
printf("hw_reg%d", inst->dst.fixed_hw_reg.nr);
|
||||
}
|
||||
if (inst->dst.fixed_hw_reg.subnr)
|
||||
printf("+%d", inst->dst.fixed_hw_reg.subnr);
|
||||
break;
|
||||
case BAD_FILE:
|
||||
printf("(null)");
|
||||
break;
|
||||
|
|
@ -1165,6 +1192,39 @@ vec4_visitor::dump_instruction(backend_instruction *be_inst)
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case HW_REG:
|
||||
if (inst->src[i].fixed_hw_reg.negate)
|
||||
printf("-");
|
||||
if (inst->src[i].fixed_hw_reg.abs)
|
||||
printf("|");
|
||||
if (inst->src[i].fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE) {
|
||||
switch (inst->src[i].fixed_hw_reg.nr) {
|
||||
case BRW_ARF_NULL:
|
||||
printf("null");
|
||||
break;
|
||||
case BRW_ARF_ADDRESS:
|
||||
printf("a0.%d", inst->src[i].fixed_hw_reg.subnr);
|
||||
break;
|
||||
case BRW_ARF_ACCUMULATOR:
|
||||
printf("acc%d", inst->src[i].fixed_hw_reg.subnr);
|
||||
break;
|
||||
case BRW_ARF_FLAG:
|
||||
printf("f%d.%d", inst->src[i].fixed_hw_reg.nr & 0xf,
|
||||
inst->src[i].fixed_hw_reg.subnr);
|
||||
break;
|
||||
default:
|
||||
printf("arf%d.%d", inst->src[i].fixed_hw_reg.nr & 0xf,
|
||||
inst->src[i].fixed_hw_reg.subnr);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
printf("hw_reg%d", inst->src[i].fixed_hw_reg.nr);
|
||||
}
|
||||
if (inst->src[i].fixed_hw_reg.subnr)
|
||||
printf("+%d", inst->src[i].fixed_hw_reg.subnr);
|
||||
if (inst->src[i].fixed_hw_reg.abs)
|
||||
printf("|");
|
||||
break;
|
||||
case BAD_FILE:
|
||||
printf("(null)");
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue