diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2014-07-24 17:12:45 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2014-07-24 17:12:45 +0000 |
commit | e1089c7a5caebffb0986d87435d2bfaf6bb55d89 (patch) | |
tree | e86a439386e107b23e13426ef34eeb7a7aa96180 /gcc/ChangeLog | |
parent | ff46d64d829740dee098b0181d60db1231d90c09 (diff) | |
download | gcc-e1089c7a5caebffb0986d87435d2bfaf6bb55d89.zip gcc-e1089c7a5caebffb0986d87435d2bfaf6bb55d89.tar.gz gcc-e1089c7a5caebffb0986d87435d2bfaf6bb55d89.tar.bz2 |
rs6000.c (rs6000_function_arg_boundary): In the AIX and ELFv2 ABI...
gcc/
* config/rs6000/rs6000.c (rs6000_function_arg_boundary): In the AIX
and ELFv2 ABI, do not use the "mode == BLKmode" check to test for
aggregate types. Instead, *all* aggregate types, except for single-
element or homogeneous float/vector aggregates, are quadword-aligned
if required by their type alignment. Issue -Wpsabi note when a type
is now treated differently than before.
gcc/testsuite/
* gcc.target/powerpc/ppc64-abi-warn-2.c: New test.
From-SVN: r213016
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 244cf23..5436866 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,14 @@ 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + * config/rs6000/rs6000.c (rs6000_function_arg_boundary): In the AIX + and ELFv2 ABI, do not use the "mode == BLKmode" check to test for + aggregate types. Instead, *all* aggregate types, except for single- + element or homogeneous float/vector aggregates, are quadword-aligned + if required by their type alignment. Issue -Wpsabi note when a type + is now treated differently than before. + +2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument does not fit fully into floating-point registers, and there is still space in the register parameter area, use GPRs to pass those parts |