[PATCH] Extend MVE patterns

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Mon Apr 16 16:34:00 GMT 2007


Hello,

> -  if (!rtx_equal_p (dest, op1))
> +  if (!rtx_equal_p (dest, op1) && !rtx_equal_p (dest, op2))
>      return NULL;      

if (rtx_equal_p (dest, op1))
  accum_pos = 0;
else if (rtx_equal_p (dest, op2))
  accum_pos = 1;
else
  return NULL;

> +
> +  /* The method of expansion that we are using; which includes
> +     the initialization of the expansions with zero and the summation of
> +     the expansions at the end of the computation will yield wrong results
> +     for (x = something - x) thus avoid using it in that case.  */
> +  if (rtx_equal_p (dest, op2)

if (accum_pos == 1

> +      && GET_CODE (src) == MINUS)
> +   return NULL;
> +
> +  /* Expand also x = something + x.  */

remove this comment, it does not make much sense unless one
investigates history of the code.

> +  accum_pos = (rtx_equal_p (dest, op1))? 0: 1;

delete

> +  something = (accum_pos == 0)? op2: op1;

missing space before :

OK with these changes.

Zdenek



More information about the Gcc-patches mailing list