This is the mail archive of the gcc-patches@gcc.gnu.org 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] |
This patch fixes a regression that we've discovered in GCC's conformance to the ARM ABI for the hard-float calling convention. The problem occurred because of changes in the mid-end in the way we mark some structures as having a machine mode now rather than BLKmode. We missed this happening because the ABI conformance tests do not cover any vector operands. To fix this the code to determine the register class required for passing an argument now only looks at the mode if there is no tree type information available. Ramana kindly wrote some tests to help verify this and I'm checking them in along with the patch. Although I do not believe any of our release branches contain this regression, it is possible that if some groups have agressively back-ported some trunk patches to their own developments then they might have silently introduced this regression there too. As a result I propose to back-port the testsuite only to the release branches that support the hard-float ABI calling standard as soon as the 4.6 branch re-opens. R. 2012-02-28 Richard Earnshaw <rearnsha@arm.com> * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine mode if there is no type information available. 2012-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * gcc.target/arm/vfp1.c (dg_do run): Run on all eabi variants. * gcc.target/arm/vfp2.c: Likewise. * gcc.target/arm/vfp3.c: Likewise. * gcc.target/arm/vfp4.c: Likewise. * gcc.target/arm/vfp5.c: Likewise. * gcc.target/arm/vfp6.c: Likewise. * gcc.target/arm/vfp7.c: Likewise. * gcc.target/arm/vfp8.c: Likewise. * gcc.target/arm/vfp9.c: Likewise. * gcc.target/arm/vfp10.c: Likewise. * gcc.target/arm/vfp11.c: Likewise. * gcc.target/arm/vfp12.c: Likewise. * gcc.target/arm/vfp13.c: Likewise. * gcc.target/arm/vfp14.c: Likewise. * gcc.target/arm/vfp15.c: Likewise. * gcc.target/arm/vfp16.c: Likewise. * gcc.target/arm/vfp17.c: Likewise. * gcc.target/arm/neon-constants.h: New file. * gcc.target/arm/neon-vect1.c: New test. * gcc.target/arm/neon-vect2.c: New test. * gcc.target/arm/neon-vect3.c: New test. * gcc.target/arm/neon-vect4.c: New test. * gcc.target/arm/neon-vect5.c: New test. * gcc.target/arm/neon-vect6.c: New test. * gcc.target/arm/neon-vect7.c: New test. * gcc.target/arm/neon-vect8.c: New test.
Attachment:
abi.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |