The implementations here just clone i2b32 and i2b1. This means that
b2b32 doesn't technically generate true NIR 0/-1 booleans but it should
be fine as it's only ever generated for shared variable writes which
will always be consumed by something which will then run it through an
i2b again.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4338>
}
break;
}
+ case nir_op_b2b32:
case nir_op_b2i32: {
Temp src = get_alu_src(ctx, instr->src[0]);
assert(src.regClass() == bld.lm);
}
break;
}
+ case nir_op_b2b1:
case nir_op_i2b1: {
Temp src = get_alu_src(ctx, instr->src[0]);
assert(dst.regClass() == bld.lm);
case nir_op_ieq:
case nir_op_ine:
case nir_op_i2b1:
+ case nir_op_b2b1:
size = lane_mask_size;
break;
case nir_op_f2i64:
case nir_op_f2u64:
case nir_op_b2i32:
+ case nir_op_b2b32:
case nir_op_b2f32:
case nir_op_f2i32:
case nir_op_f2u32: