Alyssa Rosenzweig goes
into the details of the reverse-engineering of the Mali “Valhall” GPU
instruction set.
Valhall linearizes Bifrost, removing the Very Long Instruction Word
mechanisms of its predecessors. Valhall replaces the compiler’s
static scheduling with hardware dynamic scheduling, trading
additional control hardware for higher average performance. That
means padding with “no operation” instructions is no longer
required, which may decrease code size, promising better
instruction cache use.
A document describing the instruction set has been released, along with an
assembler and disassembler.