On Wed, Jul 15, 2015 at 09:22:01AM +0100, Bin.Cheng wrote:
> Ping^2

>  +        /* ADD -(immediate).  */

I'd like to see a more detailed comment in this case. Probably something
along the lines of:

  /* The canonical form of subtract of immediate is
     (add op0 minus_imm).  Catch that here, modify the immediate,
     and handle the costing in cost_minus.  */


> +              && aarch64_uimm12_shift (- (INTVAL (op1))))

This looks strange to me, should it not be

> +              && aarch64_uimm12_shift (-(INTVAL (op1))))

Without the space after the `-`. Likewise below:

> +         op1 = gen_int_mode (- (INTVAL (op1)), mode);

Thanks,
James

> 
> > On Fri, Jun 26, 2015 at 4:47 PM, Bin Cheng <bin.ch...@arm.com> wrote:
> >> Hi,
> >> The canonical form of subtract of immediate is (add op0 minus_imm), which 
> >> is
> >> supported with addsi3_aarch64 pattern on aarch64.  Unfortunately wrong cost
> >> (8 rather than 4) is computed by aarch64_rtx_cost because it doesn't honor
> >> the fact that it actually is a sub instruction.  This patch fixes it, is
> >> this OK?
> >>
> >> Thanks,
> >> bin
> >>
> >> 2015-06-25  Bin Cheng  <bin.ch...@arm.com>
> >>
> >>         * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle addition of
> >>         minus immediate.
> 

Reply via email to