nir: Make boolean conversions sized just like the others

Instead of a single i2b and b2i, we now have i2b32 and b2iN where N is
one if 8, 16, 32, or 64.  This leads to having a few more opcodes but
now everything is consistent and booleans aren't a weird special case
anymore.

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
This commit is contained in:
Jason Ekstrand
2018-11-07 13:43:40 -06:00
parent be98b1db38
commit dca6cd9ce6
20 changed files with 121 additions and 74 deletions

View File

@@ -509,7 +509,7 @@ can_propagate_through_alu(nir_src *src)
case nir_op_ior:
case nir_op_iand:
case nir_op_inot:
case nir_op_b2i:
case nir_op_b2i32:
return true;
case nir_op_bcsel:
return src == &alu->src[0].src;