summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost/midgard/disassemble.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/panfrost/midgard/disassemble.c')
-rw-r--r--src/gallium/drivers/panfrost/midgard/disassemble.c11
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);