> > Nobody mentioned this so I might be way off but cc doesn't get (minus > (reg r684) (const_int 0)). It gets the `condition codes` modification as > a consequence of the subtraction. >
Hi Paulo, According to section "comparison operations" in internal: "The comparison operators may be used to compare the condition codes (cc0) against zero, as in (eq (cc0) (const_int 0)). Such a construct actually refers to the result of the preceding instruction in which the condition codes were set." and the result of preceding instruction here is the result of the (compare: r684, 0), which according to the definition: " (compare:m x y) Represents the result of subtracting y from x for purposes of comparison." I'm not sure if I've misunderstood any thing and please comment. Thanks very much. -- Best Regards.