nir: Add 64-bit integer support for conversions and bitcasts
authorIan Romanick <ian.d.romanick@intel.com>
Thu, 1 Sep 2016 22:21:04 +0000 (15:21 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 20 Jan 2017 23:41:23 +0000 (15:41 -0800)
commit3460d05a718f3859a77fe100f3972095d194be26
tree0367cda6b97e8afd4ef5a23a1bf88381e9e356fd
parent3ca0029a0dc7b2ed2c61de72ef16e7ad1831c101
nir: Add 64-bit integer support for conversions and bitcasts

v2 (idr): "cut them down later" => Remove ir_unop_b2u64 and
ir_unop_u642b.  Handle these with extra i2u or u2i casts just like
uint(bool) and bool(uint) conversion is done.

v3 (idr): Make the "from" type in a cast unsized.  This reduces the
number of required cast operations at the expensive slightly more
complex code.  However, this will be a dramatic improvement when other
sized integer types are added.  Suggested by Connor.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
src/compiler/glsl/glsl_to_nir.cpp
src/compiler/nir/nir_lower_alu_to_scalar.c
src/compiler/nir/nir_opcodes.py