On 09/02/16 15:34, Claudiu Zissulescu wrote:
Most of the cases checking only the CC user may be sufficient. However, there 
are cases (only one which I found), where the CC user has a different mode than 
of the CC setter.  This is happening when running gcc.dg/pr56424.c test. Here, 
the C_FPU mode cstore is simplified by the following steps losing the CC_FPU 
mode:

In the expand:
    18: cc:CC_FPU=cmp(r159:DF,r162:DF)
    19: r163:SI=cc:CC_FPU<0
    20: r161:QI=r163:SI#0
    21: r153:SI=zero_extend(r161:QI)
    22: cc:CC_ZN=cmp(r153:SI,0)
    23: pc={(cc:CC_ZN!=0)?L28:pc}

Then after combine we get this:
    18: cc:CC_FPU=cmp(r2:DF,r4:DF)
       REG_DEAD r4:DF
       REG_DEAD r2:DF
    23: pc={(cc:CC_ZN<0)?L28:pc}
       REG_DEAD cc:CC_ZN
       REG_BR_PROB 6102

That sound like a bug.  Have you looked more closely what's going on?

Reply via email to