re PR target/39476 (Typo in ix86_function_regparm in i386.c)
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 17 Mar 2009 12:55:18 +0000 (12:55 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 17 Mar 2009 12:55:18 +0000 (05:55 -0700)
2009-03-17  H.J. Lu  <hongjiu.lu@intel.com>

PR target/39476
* config/i386/i386.c (ix86_function_regparm): Rewrite for
64bit.

From-SVN: r144902

gcc/ChangeLog
gcc/config/i386/i386.c

index be2837f..6f50eb7 100644 (file)
@@ -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
index bc912b6..bde1604 100644 (file)
@@ -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)
     {