> From: Marcus Shawcroft [mailto:marcus.shawcr...@gmail.com]
> > -  NAMED_PARAM (FP2FP, 4)
> > +  NAMED_PARAM (FP2FP, 2)
> 
> This is not directly related to the change below and it is missing
> from the ChangeLog.   Originally this number had to be > 2 in order
> for secondary reload to kick in.  See the comment above the second
> hunk of this patch.  Why is it OK to lower this number ?

It is related because the GET_MODE_SIZE bug means it never returns the
correct cost, but instead returns the FP2FP cost. So the FP2FP cost had
to be artificially increased. With the fix this is no longer required.

> >  /* Generic costs for vector insn classes.  */
> > @@ -5846,7 +5843,7 @@ aarch64_register_move_cost (enum machine_mode mode,
> >       secondary reload.  A general register is used as a scratch to move
> >       the upper DI value and the lower DI value is moved directly,
> >       hence the cost is the sum of three moves. */
> > -  if (! TARGET_SIMD && GET_MODE_SIZE (mode) == 128)
> > +  if (! TARGET_SIMD && GET_MODE_SIZE (mode) == 16)
> >      return regmove_cost->GP2FP + regmove_cost->FP2GP + regmove_cost->FP2FP;
> >
> >    return regmove_cost->FP2FP;
> > --
> > 1.9.1



Reply via email to