From: Iago Toral Quiroga Date: Thu, 22 Nov 2018 09:59:59 +0000 (+0100) Subject: intel/compiler: handle b2i/b2f with other integer conversion opcodes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=66806405afa02024813869d8cc972f293041fa50;p=mesa.git intel/compiler: handle b2i/b2f with other integer conversion opcodes Since we handle booleans as integers this makes more sense. v2: - rebased to incorporate new boolean conversion opcodes v3: - rebased on top regioning lowering pass Reviewed-by: Jason Ekstrand (v1) Reviewed-by: Topi Pohjolainen (v2) --- diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index 5add83b257d..2aaa473e698 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -892,6 +892,14 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr) inst->saturate = instr->dest.saturate; break; + case nir_op_f2f64: + case nir_op_f2i64: + case nir_op_f2u64: + assert(type_sz(op[0].type) > 2); /* brw_nir_lower_conversions */ + inst = bld.MOV(result, op[0]); + inst->saturate = instr->dest.saturate; + break; + case nir_op_b2i8: case nir_op_b2i16: case nir_op_b2i32: @@ -904,14 +912,6 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr) op[0].type = BRW_REGISTER_TYPE_D; op[0].negate = !op[0].negate; /* fallthrough */ - case nir_op_f2f64: - case nir_op_f2i64: - case nir_op_f2u64: - assert(type_sz(op[0].type) > 2); /* brw_nir_lower_conversions */ - inst = bld.MOV(result, op[0]); - inst->saturate = instr->dest.saturate; - break; - case nir_op_i2f64: case nir_op_i2i64: case nir_op_u2f64: