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.

Attachment: pgpc7N4sSxBH4.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to