On Sat, 27 Aug 2011 20:18:55 -0700, Kenneth Graunke <kenn...@whitecape.org> wrote: > From: Bryan Cain <bryanca...@gmail.com> > > Using multiply and reciprocal for integer division involves potentially > lossy floating point conversions. This is okay for older GPUs that > represent integers as floating point, but undesirable for GPUs with > native integer division instructions. > > TGSI, for example, has UDIV/IDIV instructions for integer division, > so it makes sense to handle this directly. Likewise for i965. > > Signed-off-by: Bryan Cain <bryanca...@gmail.com> > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
> --- > case ir_binop_div: > - if (lowering(DIV_TO_MUL_RCP)) > + if (lowering(INT_DIV_TO_MUL_RCP) && > ir->operands[1]->type->is_integer()) > + int_div_to_mul_rcp(ir); > + else if (lowering(DIV_TO_MUL_RCP)) > div_to_mul_rcp(ir); > break; > Sure looks odd to me for one of these to be checking the type and ther other not.
pgpc7N4sSxBH4.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev