[Mesa-dev] [PATCH 12/59] intel/compiler: handle b2i/b2f with other integer conversion opcodes

Iago Toral itoral at igalia.com
Wed Dec 5 10:23:06 UTC 2018


On Tue, 2018-12-04 at 18:16 +0200, Pohjolainen, Topi wrote:
> On Tue, Dec 04, 2018 at 08:16:36AM +0100, Iago Toral Quiroga wrote:
> > Since we handle booleans as integers this makes more sense.
> 
> If this is applied before patch 10, can we merge 10 and 13?

We can't apply this before patch 10 because patch 10 is the one that
splits the f264 and {i,u}264 opcodes. However, we could merge this and
patch 13 into patch 10 if that looks better to you.

Iago

> > ---
> >  src/intel/compiler/brw_fs_nir.cpp | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> > 
> > diff --git a/src/intel/compiler/brw_fs_nir.cpp
> > b/src/intel/compiler/brw_fs_nir.cpp
> > index 9f3d3bf9762..6c765fc2661 100644
> > --- a/src/intel/compiler/brw_fs_nir.cpp
> > +++ b/src/intel/compiler/brw_fs_nir.cpp
> > @@ -801,11 +801,6 @@ fs_visitor::nir_emit_alu(const fs_builder
> > &bld, nir_alu_instr *instr)
> >        inst->saturate = instr->dest.saturate;
> >        break;
> >  
> > -   case nir_op_b2i:
> > -   case nir_op_b2f:
> > -      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:
> > @@ -850,6 +845,11 @@ fs_visitor::nir_emit_alu(const fs_builder
> > &bld, nir_alu_instr *instr)
> >        inst->saturate = instr->dest.saturate;
> >        break;
> >  
> > +   case nir_op_b2i:
> > +   case nir_op_b2f:
> > +      op[0].type = BRW_REGISTER_TYPE_D;
> > +      op[0].negate = !op[0].negate;
> > +      /* fallthrough */
> >     case nir_op_i2f64:
> >     case nir_op_i2i64:
> >     case nir_op_u2f64:
> > -- 
> > 2.17.1
> > 
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 
> 



More information about the mesa-dev mailing list