This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH 4.9][AArch64] Backport 211892: PR/60825 Make float64x1_t in arm_neon.h a proper vector type
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- Cc: Alan Lawrence <alan dot lawrence at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 8 Jul 2014 14:31:29 +0200
- Subject: Re: [PATCH 4.9][AArch64] Backport 211892: PR/60825 Make float64x1_t in arm_neon.h a proper vector type
- Authentication-results: sourceware.org; auth=none
- References: <53BBD5F6 dot 9080809 at arm dot com> <20140708113928 dot GL31640 at tucnak dot redhat dot com> <CAFqB+Pw76OgbijXfpQhEO8vxUF1R=WMWcG5YSAYqnmcLkPMR=Q at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Jul 08, 2014 at 01:08:27PM +0100, Marcus Shawcroft wrote:
> >> float64_t, as per ACLE - the error mentioned in the "Caveats" section at
> >> https://gcc.gnu.org/gcc-4.9/changes.html.
> ... along with a statement that this would be fixed....
> Clearly the ABI change between 4.9.0 and 4.9.1 is not ideal, however
> the X1 vectors are relatively corner case. Given that this a
> relatively new port and we don;t expect many folks to be using this
> type in production yet. A number of folk are waiting on 4.9.1 before
> they switch to 4.9, some of those folks are likely to be users of the
> intrinsics and x1 vectors. I'd like to see these changes taken now
> between 4.9.0 and 4.9.1 rather than take the pain between 4.9.x and
> 4.10 when we will have a significantly bigger deployed user base.
Many people are using different patch levels interchangeably and expect
them to be compatible. If X1 vectors are relatively rare, the better,
fewer people will be affected when switching from 4.9.x to 4.10.x.
But IMHO changing ABI between patchlevels, at least when the ABI is not
inconsistent (we had in the past cases where e.g. caller and callee didn't
agree where to pass some argument even when using the same compiler, then
obviously no working code can use those and it can be fixed), is a very bad
idea. My strong preference is to maintain ABI compatibility between
Just add a -Wps-abi warning to 4.10 when you encounter this (look at what
e.g. x86_64 does). You can also add a warning to 4.9.1 that next GCC
version will change ABI for passing those.