On 29/07/13 14:58, Kyrylo Tkachov wrote:
Hi all,
Now that combine emits the canonical form for (eq (neg x) (y)) instead of (eq
(x) (neg y)), this patch fixes up the corresponding pattern in aarch64 to
match that. This enables combine to properly generate the cmn instruction
where appropriate.
Tested aarch64-none-elf on model.
Ok for trunk?
No, this is wrong for inequalities, since in reality it's the second
operand that's inverted.
You'll need to use CC_SWP mode and then arrange for this to be correctly
picked by select_cc_mode.
R.
Thanks,
Kyrill
2013-07-29 Kyrylo Tkachov <kyrylo.tkac...@arm.com>
* config/aarch64/aarch64.md (compare_neg<mode>): Match canonical RTL
form.=
aarch64-cmn.patch
N¬n‡r¥ªíÂ)emçhÂyhi×¢w^™©Ý