[Bug target/36936] [4.4 Regression]: Revision 138075 breaks cmove

gnu at the-meissners dot org gcc-bugzilla@gcc.gnu.org
Fri Jul 25 16:46:00 GMT 2008



------- Comment #2 from gnu at the-meissners dot org  2008-07-25 16:45 -------
Subject: Re:  [4.4 Regression]: Revision 138075 breaks
        cmove

On Fri, Jul 25, 2008 at 03:36:51PM -0000, hjl dot tools at gmail dot com wrote:
> 
> 
> ------- Comment #1 from hjl dot tools at gmail dot com  2008-07-25 15:36 -------
> I believe this bug was introduced by
> 
> @@ -2743,11 +3118,13 @@ override_options (void)
>        && !(target_flags & MASK_ACCUMULATE_OUTGOING_ARGS))
>      {
>        if (target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS)
> -       warning (0, "stack probing requires -maccumulate-outgoing-args "
> -                "for correctness");
> +       warning (0, "stack probing requires %saccumulate-outgoing-args%s "
> +                "for correctness", prefix, suffix);
>        target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS;
>      }    
> 
> +  TARGET_CMOVE = 0;
> +
>    /* For sane SSE instruction set generation we need fcomi instruction.
>       It is safe to enable all CMOVE instructions.  */
>    if (TARGET_SSE)

However, that would break using attribute((option("arch=i386"))) to turn off
cmoves.  I suspect the patch needs to be reworked.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36936



More information about the Gcc-bugs mailing list