On 10/24/2013 01:11 AM, Zhenqiang Chen wrote:
>> Why would you need to encode comparisons in CCmodes?
>> That looks like a mis-design to me.
> 
> The CCmodes are used to check whether the result of a previous conditional 
> compare can combine with current compare. By changing it to rtx_code, I can 
> reuse current code (arm_select_dominance_cc_mode_1) to check it.
> The CCmodes are also used to emit the "condition code" for a conditional 
> execution. E.g.
> 
>   CC1 (CC_DGEmode) = CCMP (a >= 0, b >= 0)
> ==> cmp a, #0
>          cmpge b, #0
>   CC2 = CCMP ( CC1 != 0, c >= 0)
> ==> cmpge c, #0
> The "ge" is from the mode of CC1 in "CC1 != 0". And the mode of CC2 is not 
> necessary the same as CC1.

But since you've got the previous comparison operator, why do you need
the same data encoded into the mode?


r~

Reply via email to