Use out encoding for float immediates
We know the encoding for float immediates, and this is supported now in ir3 asm parser and disasm. We still need to teach ir3_cp()
pass to utilize them.
Original description:
There are a number of float immediates built into the instruction set. For example:
0000[40100005x_28024003x] add.f r1.y, (neg)r0.w, 2
is actually r1.y = 1.0f - r0.w
, that is the literal 2 encodes constant 1.0f. We should figure out what all the values are and use this encoding when possible instead of constant registers.