[RS6000] complex long double ABI_V4 fix
commitefdda68586cf5d97979f2eab14327ffdd7e526eb
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 May 2016 02:09:38 +0000 (11 02:09 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 May 2016 02:09:38 +0000 (11 02:09 +0000)
tree9758b76b632f662ab22c46cc9907671a2d081424
parentbe14a56eac8eafa336bc245887eb3e9d65de66c4
[RS6000] complex long double ABI_V4 fix

Revision 235794 regressed compat/scalar-by-value-6 for powerpc-linux
-m32 due to accidentally changing the ABI.  By another historical
accident, complex long double is stupidly passed in gprs for -m32.

* config/rs6000/rs6000.c (is_complex_IBM_long_double,
abi_v4_pass_in_fpr): New functions.
(rs6000_function_arg_boundary): Exclude complex IBM long double
from 64-bit alignment when ABI_V4.
(rs6000_function_arg, rs6000_function_arg_advance_1,
rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236111 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000.c