diff options
-rw-r--r-- | src/gallium/drivers/panfrost/midgard/disassemble.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c index 7e5c5803f75..66d32d942c4 100644 --- a/src/gallium/drivers/panfrost/midgard/disassemble.c +++ b/src/gallium/drivers/panfrost/midgard/disassemble.c @@ -478,7 +478,16 @@ print_extended_branch_writeout_field(uint8_t *words) printf("brx."); print_branch_op(br.op); - print_branch_cond(br.cond); + + /* Condition repeated 8 times in all known cases. Check this. */ + + unsigned cond = br.cond & 0x3; + + for (unsigned i = 0; i < 16; i += 2) { + assert(((br.cond >> i) & 0x3) == cond); + } + + print_branch_cond(cond); if (br.unknown) printf(".unknown%d", br.unknown); |