i965/vec4: Add support for printing HW_REGs in dump_instruction().

Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Matt Turner 2013-11-25 22:17:29 -08:00
parent 942151af30
commit a85f1b7adf

View file

@ -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;