This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][AArch64] Handle -|x| case using a single csneg
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: pinskia at gmail dot com
- Cc: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, James Greenhalgh <james dot greenhalgh at arm dot com>
- Date: Tue, 14 Jul 2015 07:39:11 -0500
- Subject: Re: [PATCH][AArch64] Handle -|x| case using a single csneg
- Authentication-results: sourceware.org; auth=none
- References: <55A38963 dot 6080408 at arm dot com> <10694BCB-DAA1-4B04-9DD3-EC1477451DFD at gmail dot com>
On Tue, Jul 14, 2015 at 07:04:13PM +0800, pinskia@gmail.com wrote:
> Combine knows how to use define_split without being an insn.
Combine uses define_split in very different circumstances than it uses
define_insn. In this case, define_split will only do anything if the
"nabs" is combined from three insns, while a define_insn handles it
being combined from two as well.
A define_split will be split during combine (and combine can then work
on its factors); a define_insn is only split _after_ combine.
Segher