This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][AArch64] Fix FAIL: gcc.target/aarch64/cmn.c scan-assembler cmn\tw[0-9]
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Kyrylo Tkachov <kyrylo dot tkachov at arm dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>
- Date: Tue, 30 Jul 2013 10:41:35 +0100
- Subject: Re: [PATCH][AArch64] Fix FAIL: gcc.target/aarch64/cmn.c scan-assembler cmn\tw[0-9]
- References: <005c01ce8c63$b01a7d20$104f7760$ at tkachov@arm.com>
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.tkachov@arm.com>
* config/aarch64/aarch64.md (compare_neg<mode>): Match canonical RTL
form.=
aarch64-cmn.patch
NÂnârÂÂÃÃ)emÃhÃyhiÃÂÂw^âÂÃ