This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: missing conditional propagation in cprop.c pass


>
> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]