ir3: Add cat5/cat7 cache related instructions and cat7 sleep
- tcinv - Likely Texture Cache Invalidate (unverified)
- icinv - Mostly sure that it is Instruction Cache Invalidate
- dccln - Data Cache Clean
- dcinv - Data Cache Invalidate
- dcflu - Data Cache Flush
- sleep - Has short and long variants, long seem to be ~20 times longer. The exact difference between it and a bunch of nops is unknown.
The emission of these instructions were not observed in the wild.
I was only able to get observable results from testing icinv
and sleep
.
TODO: find out the difference between .shr and .all modes of dccln, dcinv, dcflu.
I don't have a practical usage for them at the moment. Maybe they could be useful for some debug mode, or even in shader debugging...