vc4: Reserve rb31 instead of r3 for raddr conflict spills.
authorEric Anholt <eric@anholt.net>
Tue, 9 Dec 2014 00:52:53 +0000 (16:52 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 9 Dec 2014 09:04:46 +0000 (01:04 -0800)
commit8420a956924c720b3c4932a577623f836758c21c
tree09097890b2dabbb4bff4bf81e4b5d55ddcf3bc6a
parentab1b1fa6fbd72b05c48f83c9df5036c2bfe893a3
vc4: Reserve rb31 instead of r3 for raddr conflict spills.

This increases the cost of a raddr b conflict spill (save r3 to rb31, move
src1 to r3, move rb31 back to r3 when done, instead of just move src1 to
r3), but on average thanks to instruction pairing it's more worthwhile to
have another accumulator.

total instructions in shared programs: 46428 -> 46171 (-0.55%)
instructions in affected programs:     38030 -> 37773 (-0.68%)
src/gallium/drivers/vc4/vc4_qpu_emit.c
src/gallium/drivers/vc4/vc4_register_allocate.c