aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorHui-May Chang <hm.chang@apple.com>2007-05-29 22:49:42 +0000
committerHui-May Chang <hmchang@gcc.gnu.org>2007-05-29 22:49:42 +0000
commitf2f0a9602a03847ef4da72d015a52b15aca14354 (patch)
treeb448a9e3d24b0f17725eff5b9708233f7a6f4ae9 /gcc/config
parent5417e0224b5fef840b1faa50c43dc660579e4f7b (diff)
downloadgcc-f2f0a9602a03847ef4da72d015a52b15aca14354.zip
gcc-f2f0a9602a03847ef4da72d015a52b15aca14354.tar.gz
gcc-f2f0a9602a03847ef4da72d015a52b15aca14354.tar.bz2
i386.c (ix86_function_regparm): Added checking of ix86_force_align_arg_pointer to determine the number of...
* config/i386/i386.c (ix86_function_regparm): Added checking of ix86_force_align_arg_pointer to determine the number of register parameters. * gcc.target/i386/stack-realign.c: New. From-SVN: r125173
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f68dc6a..51d7afe 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2837,7 +2837,8 @@ ix86_function_regparm (tree type, tree decl)
/* We can't use regparm(3) for nested functions as these use
static chain pointer in third argument. */
if (local_regparm == 3
- && decl_function_context (decl)
+ && (decl_function_context (decl)
+ || ix86_force_align_arg_pointer)
&& !DECL_NO_STATIC_CHAIN (decl))
local_regparm = 2;