On Fri, Nov 14, 2014 at 2:35 AM, James Greenhalgh
<james.greenha...@arm.com> wrote:
>
> Hi,
>
> We currently do not set any interesting default values for jump and function
> alignment in AArch64. I've made the formula for these values derive from
> the issue rate of the processor as so:
>
>   jumps: 4 * processor issue-rate (rounded down to nearest power of two)
>   functions: 4 * processor issue-rate (rounded up to nearest power of two)
>
> This is sensible for the ARMv8-a implementations I tested on. An
> alternative patch would make these values new fields in the tuning
> tables.

I had submitted an alternative patch a few hours ago which allows the
tuning structure say what alignment is wanted for all three:
https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01615.html

>
> This happens to work well for some benchmarks and doesn't harm others.
> The benefit swings depending on the existing alignment and the knock-on
> effects.
>
> Bootstrapped on aarch64-none-linux-gnu with no issues.
>
> Does anyone have any thoughts or preferences as to how we set these
> values in future? If not, OK For trunk?

Also I notice you don't align loops, was that an oversight or just you
did not think it was needed?

Thanks,
Andrew


>
> Thanks,
> James
>
> ---
> 2014-11-14  James Greenhalgh  <james.greenha...@arm.com>
>
>         * config/aarch64/aarch64.c (aarch64_override_options): Set default
>         alignments for functions and jumps.

Reply via email to