rs6000.c (rs6000_function_arg): If a float argument does not fit fully into floating...
authorUlrich Weigand <uweigand@de.ibm.com>
Thu, 24 Jul 2014 17:11:02 +0000 (17:11 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Thu, 24 Jul 2014 17:11:02 +0000 (17:11 +0000)
commitff46d64d829740dee098b0181d60db1231d90c09
tree23523450e5e7f50219b97dbe687585e7113e9bd7
parentc41e1ae6c0ee5face983669fc23e418be1faa1da
rs6000.c (rs6000_function_arg): If a float argument does not fit fully into floating-point registers...

gcc/

* 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
of the argument.  Issue -Wpsabi note if any parameter is now treated
differently than before.
(rs6000_arg_partial_bytes): Update.

gcc/testsuite/

* gcc.target/powerpc/ppc64-abi-warn-1.c: New test.

From-SVN: r213015
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-1.c [new file with mode: 0644]