This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 0/2][trunk+5 backport][ARM] PR/65956 Implement AAPCS updates for alignment attribute
- From: Alan Lawrence <alan dot lawrence at arm dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Kyrylo Tkachov <Kyrylo dot Tkachov at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>, Richard Biener <rguenther at suse dot de>, Jakub Jelinek <jakub at redhat dot com>
- Date: Fri, 03 Jul 2015 16:24:24 +0100
- Subject: [PATCH 0/2][trunk+5 backport][ARM] PR/65956 Implement AAPCS updates for alignment attribute
- Authentication-results: sourceware.org; auth=none
This patch series implements the changes/additions to the ARM ABI proposed at
https://gcc.gnu.org/ml/gcc/2015-07/msg00040.html .
The first patch is the ABI update. This is an ABI-breaking change for any code
using __attribute__((aligned(...))) on a public interface (a case not previously
defined by the AAPCS).
This causes a regression of gcc.c-torture/execute/20040709-1.c at -O0 (only),
and the align_rec2.c fails, both due to a latent bug where we can emit strd/ldrd
on an odd-numbered register in ARM state. The second patch prevents such illegal
instructions and fixes both tests.
On trunk, tested via bootstrap + check-gcc on arm-none-linux-gnueabihf
(cortex-a15+neon). Also cross-tested arm-none-eabi with a number of variants.
On gcc-5-branch, patches rebase cleanly, tested via profiledbootstrap +
check-gcc. (Yes, profiledbootstrap succeeds.)