Re: Handle XOR in canonicalize_condition

2014-01-25 Thread Richard Sandiford
Jeff Law writes: > On 01/24/14 01:24, Richard Sandiford wrote: >> Richard Sandiford 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

Re: Handle XOR in canonicalize_condition

2014-01-24 Thread Jeff Law
On 01/24/14 01:24, Richard Sandiford wrote: Richard Sandiford 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.

Re: Handle XOR in canonicalize_condition

2014-01-24 Thread Richard Sandiford
Richard Sandiford 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

Handle XOR in canonicalize_condition

2014-01-23 Thread Richard Sandiford
This patch fixes gcc.dg/unroll_1.c for MIPS16. There were two problems, one in the testcase itself and one in the rtl code. The testcase problem was that gcc.dg/unroll_1.c forces loop2_unroll to be run via -fenable-rtl-loop2_unroll but it doesn't explicitly force the associated init pass (loop2)