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^™©Ý



Reply via email to