From 9a74f8ee3d11e3448de7aaea916ee6fa24f5451e Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 20 Apr 2006 07:04:00 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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 + + * 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 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. */ -- 2.7.4