------- Comment #2 from hjl dot tools at gmail dot com 2009-03-16 22:09 ------- We never change regparm for 64bit. Does this patch
Index: gcc/config/i386/i386.c =================================================================== --- gcc/config/i386/i386.c (revision 144817) +++ gcc/config/i386/i386.c (working copy) @@ -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) { look OK? -- hjl dot tools at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jh at suse dot cz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39476