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?