(({SRC1_R} != 0) || ({SRC2_R} != 0)) && ({REPEAT} == 0)
{SRC1_R} | ({SRC2_R} << 1)
{GPR} == 61 /* a0.* */
{GPR} == 62 /* p0.x */
a0.{SWIZ}
111101
p0.{SWIZ}
111110
r{GPR}.{SWIZ}
c{CONST}.{SWIZ}
{OFFSET} == 0
r<a0.x>
r<a0.x + {OFFSET}>
c<a0.x>
c<a0.x + {OFFSET}>
Encoding for instruction source which can be GPR/CONST/IMMED
or relative GPR/CONST.
{ABSNEG}{SRC_R}h({IMMED})
{ABSNEG}{SRC_R}{IMMED}
100
Immediate with int->float lookup table:
0 -> 0.0
1 -> 0.5
2 -> 1.0
3 -> 2.0
4 -> e
5 -> pi
6 -> 1/pi
7 -> 1/log2(e)
8 -> log2(e)
9 -> 1/log2(10)
10 -> log2(10)
11 -> 4.0
101
{ABSNEG}{SRC_R}{IMMED}
0
{ABSNEG}{SRC_R}h{IMMED}
1
!{FULL}
{ABSNEG}{SRC_R}{HALF}{SRC}
000000
{ABSNEG}{SRC_R}{HALF}{SRC}
x10
001
{ABSNEG}{SRC_R}{HALF}{SRC}
0
{ABSNEG}{SRC_R}{HALF}{SRC}
1
({FULL} == {DST_CONV}) && ({DST} <= 0xf7 /* p0.x */)
1
0
0
1
2
({TYPE} == 0) /* f16 */ ||
({TYPE} == 2) /* u16 */ ||
({TYPE} == 4) /* s16 */ ||
({TYPE} == 6) /* u8 */ ||
({TYPE} == 7) /* s8 */
int to float lookup table