On Tue, Feb 14, 2012 at 12:00 AM, Richard Henderson <r...@redhat.com> wrote:
> On 02/11/2012 12:56 AM, Uros Bizjak wrote:
>> FWIW, the mode of flags in users doesn't matter at all on x86, but
>> which way is correct?
>
> As far as I know, it doesn't matter anywhere.  We don't even bother to have 
> perfect harmony between  integer modes in hard registers -- think about what 
> happens when we drop all the subregs on the floor post-reload.  Yes, it's 
> probably an error if we don't have compatible modes between def and use, but 
> nothing is going to check for that.

cse.c says some relaxing words related to this issue:

  /* If the following assertion was triggered, there is most probably
     something wrong with the cc_modes_compatible back end function.
     CC modes only can be considered compatible if the insn - with the mode
     replaced by any of the compatible modes - can still be recognized.  */

It looks to me that correct definition of cc_modes_compatible
guarantees that insn is still valid, no matter if the mode of flags
remains in the "wrong mode".

In any case, I will add the comment to avoid confusion.

Thanks,
Uros.

Reply via email to