This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ARM/AARCH64] Remodel type attribute values for Neon Instructions.

On 15/10/13 12:23, James Greenhalgh wrote:
> Hi,
> The historical neon_type attribute formed groups over the Neon
> instructions which were well suited for modelling the Cortex-A8
> pipeline, but were cumbersome for other processor models.
> The AArch64 has another classification "simd_type". This is, with a
> few exceptions, and when augmented by simd_mode, suitably high
> resolution for our needs. However, this is not integrated in to the
> "type" attribute, which we would ideally like to be the One True
> instruction classification attribute.
> This patch series aims to solve these problems by defining a new,
> high resolution classification across the Neon instructions. From
> this we can derive two benefits:
>   * Convergence between the A32 and A64 backends.
>   * Better Pipeline modeling.
> The patch series first introduces the new Neon type classifications,
> then updates config/arm/ and config/aarch64/
> to use the new classifications.
> We then update the pipeline models for the new types. For Cortex-A8
> and Cortex-A9, this simply means reforming the old groups. For Cortex-A15,
> this is a chance to form new groups with which we can better model the
> pipeline latencies.
> Finally, we can remove the old types and config/arm/
> The patch series has been bootstrapped on a Chromebook and the full
> testsuite run with no regressions. All pipeline models have been
> checked against some sample neon intrinsics code to ensure the new
> schedules are sensible, and there are no holes in the pipeline models.
> Thanks,
> James
> ---
> James Greenhalgh (10):
>   [ARM] [1/10] Add new types to describe Neon insns.
>   [AArch64] [Neon types 2/10] Update Current type attributes to new Neon
>     Types.
>   [ARM] [Neon types 3/10] Update Current type attributes to new Neon
>     Types.
>   [AArch64] [Neon types 4/10] Add type attributes to all simd insns
>   [ARM] [Neon types 5/10] Update Cortex-A8 pipeline model
>   [ARM] [Neon types 6/10] Cortex-A9 neon pipeline changes
>   [ARM] [Neon types 7/10] Cortex-A15 neon pipeline changes
>   [ARM] [Neon types 8/10] Cortex-A7 neon pipeline model
>   [ARM] [Neon types 9/10] Remove old neon types
>   [ARM] [Neon types 10/10] Remove

All of the above are OK.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]