This is the mail archive of the gcc-patches@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: Handle XOR in canonicalize_condition


On 01/24/14 01:24, Richard Sandiford wrote:
Richard Sandiford <rdsandiford@googlemail.com> writes:
The other problem is related to the way that MIPS16 tests for equality.
Conditional branches test register $24, and the only instructions that
set $24 are MOVE and CMP(I), which is actually an XOR rather than a
subtraction.

Er, don't know what I was thinking here, but please ignore this summary
of the ISA.  There are conditional branches to test MIPS16 registers
and other ways of setting $24.  (But other than that...)

The patch itself still stands though.
Right. This is just the RTL version of what I did for trees about a year ago.

The comment is a bit misleading as far as pulling things out of the RTL. You're showing it a combined form. SET is something like
(set (reg) (xor (reg) (reg))) if I'm reading everything correctly.

Please try to improve the comment and you're good to go. No need to wait for further review, but please post the final form for the archivers.

Thanks,
Jeff


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