diff options
author | Alan Modra <amodra@bigpond.net.au> | 2006-04-20 07:04:00 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2006-04-20 16:34:00 +0930 |
commit | 9a74f8ee3d11e3448de7aaea916ee6fa24f5451e (patch) | |
tree | 5f5dc92b144c1672597187723718935335ac3eec /gcc | |
parent | 904b6a0eefb5a84e02dcf8a18437f0d115fc5527 (diff) | |
download | gcc-9a74f8ee3d11e3448de7aaea916ee6fa24f5451e.zip gcc-9a74f8ee3d11e3448de7aaea916ee6fa24f5451e.tar.gz gcc-9a74f8ee3d11e3448de7aaea916ee6fa24f5451e.tar.bz2 |
rs6000.c (rs6000_gimplify_va_arg): Consume all fp regs if the last fp arg doesn't fit in regs.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
fp regs if the last fp arg doesn't fit in regs.
From-SVN: r113111
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 023894b..978e128 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-04-20 Alan Modra <amodra@bigpond.net.au> + + * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all + fp regs if the last fp arg doesn't fit in regs. + 2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org> PR target/27182 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 0c004a9..7e18f6d 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -5960,7 +5960,7 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p) t = build1 (LABEL_EXPR, void_type_node, lab_false); append_to_statement_list (t, pre_p); - if (n_reg > 2) + if ((n_reg == 2 && reg != gpr) || n_reg > 2) { /* Ensure that we don't find any more args in regs. Alignment has taken care of the n_reg == 2 case. */ |