Skip to content

pan/bi: Disassemble embedded constant modifiers (PC-relative constants)

Alyssa Rosenzweig requested to merge alyssa/mesa:fix into master

First few commits just to orient myself, rest dives into this obscure architecture feature. Actually, we already use a special case of the modify mechanism to handle branches in the compiler. Now we can get proper disassembly, i.e.

+BRANCHZ.i32.eq t1, r2, (pc + 64)

Cc @cwabbott0 who had the misfortune of reverse-engineering the initial bits of this. I don't imagine we'll use more than a few modes in the compiler but this way we have proper validation in the disasm in case we screw up packing again and end up with PCs added in random places.

Merge request reports