diff options
| -rw-r--r-- | gcc/ChangeLog | 8 | ||||
| -rw-r--r-- | gcc/config/i386/i386.c | 10 |
2 files changed, 11 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index be2837f..6f50eb7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,10 @@ -2009-03-16 H.J. Lu <hongjiu.lu@intel.com> +2009-03-17 H.J. Lu <hongjiu.lu@intel.com> + + PR target/39476 + * config/i386/i386.c (ix86_function_regparm): Rewrite for + 64bit. + +2009-03-17 H.J. Lu <hongjiu.lu@intel.com> PR target/39473 * config/i386/i386.c (ix86_expand_call): Check extra clobbers diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index bc912b6..bde1604 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -4273,17 +4273,15 @@ static int ix86_function_regparm (const_tree type, const_tree decl) { tree attr; - int regparm = ix86_regparm; + int regparm; static bool error_issued; if (TARGET_64BIT) - { - if (ix86_function_type_abi (type) == DEFAULT_ABI) - return regparm; - return DEFAULT_ABI != SYSV_ABI ? X86_64_REGPARM_MAX : X64_REGPARM_MAX; - } + return (ix86_function_type_abi (type) == SYSV_ABI + ? X86_64_REGPARM_MAX : X64_REGPARM_MAX); + regparm = ix86_regparm; attr = lookup_attribute ("regparm", TYPE_ATTRIBUTES (type)); if (attr) { |
