This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, ARM] Don't use NEON for autovectorization in big-endian mode
- From: Julian Brown <julian at codesourcery dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>, Richard Earnshaw <rearnsha at arm dot com>
- Date: Tue, 24 Jun 2014 12:26:36 +0100
- Subject: Re: [PATCH, ARM] Don't use NEON for autovectorization in big-endian mode
- Authentication-results: sourceware.org; auth=none
- References: <20140616124236 dot 10b09c2c at octopus>
On Mon, 16 Jun 2014 12:42:36 +0100
Julian Brown <julian@codesourcery.com> wrote:
> Hi,
>
> As discussed several times previously, support for NEON in ARM
> big-endian mode is quite broken because of differing assumptions about
> lane ordering made by the ARM EABI and the set of NEON intrinsics on
> the one hand, and the vectorizer on the other.
>
> Fixing this "properly" would involve quite a large overhaul of the
> NEON backend implementation, and such an overhaul does not appear to
> be forthcoming. Unfortunately this leaves big-endian mode with a
> problem: even if the user is not explicitly using NEON intrinsics,
> compiling with NEON and the vectorizer enabled (i.e. -O3) can quite
> easily lead to incorrect code being generated.
>
> This is the patch we've been using internally for a while to work
> around the problem. When applied:
Ping?
Julian