From: Jeff Law <law@redhat.com>
To: Wilco Dijkstra <wdijkstr@arm.com>,
"'Segher Boessenkool'" <segher@kernel.crashing.org>
Cc: "'GCC Patches'" <gcc-patches@gcc.gnu.org>
Subject: Re: RFC: Combine of compare & and oddity
Date: Thu, 03 Sep 2015 19:05:00 -0000 [thread overview]
Message-ID: <55E897E2.4010104@redhat.com> (raw)
In-Reply-To: <001301d0e679$c8a210c0$59e63240$@com>
On 09/03/2015 12:53 PM, Wilco Dijkstra wrote:
>> Segher Boessenkool wrote:
>> On Thu, Sep 03, 2015 at 10:09:36AM -0600, Jeff Law wrote:
>>>>> You will end up with a *lot* of target hooks like this. It will also
>>>>> make testing harder (less coverage). I am not sure that is a good idea.
>>>>
>>>> We certainly need a lot more target hooks in general so GCC can do the
>>>> right thing
>>>> (rather than using costs inconsistently all over the place). But that's a
>>>> different
>>>> discussion...
>>> Let's be very careful here, target hooks aren't always the solution.
>>> I'd rather see the costing models fixed and use those across the board.
>>> But frankly, I don't know how to fix the costing models.
>>
>> Combine doesn't currently use costs to decide how to simplify and
>> canonicalise things. Simplifications are what is simpler RTL; combine's
>> job is to make fewer RTL instructions (which is not the same thing as
>> fewer machine instructions, or cheaper instructions). Changing what is
>> canonical based on target hooks would be, uh, interesting.
>
> Would it be reasonable to query the rtx_cost of a compare+and and if the cost
> is the same as an AND assume that that instruction does not need to be "improved"
> into the canonical form? That way it will use the compare+and pattern if it exists
> and still try the zero_extract/shift+and forms for targets that don't have a
> compare+and instruction.
Perhaps -- but you also have to make sure that you don't regress cases
where canonicalization in turn exposes simplifications due to related
insns in the chain.
Jeff
next prev parent reply other threads:[~2015-09-03 18:56 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-02 17:09 Wilco Dijkstra
2015-09-02 18:49 ` Segher Boessenkool
2015-09-02 19:56 ` Segher Boessenkool
2015-09-03 11:51 ` Wilco Dijkstra
2015-09-03 13:57 ` Segher Boessenkool
2015-09-03 15:00 ` Wilco Dijkstra
2015-09-03 15:21 ` Andrew Pinski
2015-09-03 16:15 ` Jeff Law
2015-09-03 16:40 ` Segher Boessenkool
2015-09-03 18:56 ` Wilco Dijkstra
2015-09-03 19:05 ` Jeff Law [this message]
2015-09-03 19:20 ` Richard Sandiford
2015-09-03 21:20 ` Jeff Law
2015-09-03 19:22 ` Segher Boessenkool
2015-09-03 16:24 ` Segher Boessenkool
2015-09-03 16:36 ` Kyrill Tkachov
2015-09-03 16:44 ` Wilco Dijkstra
2015-09-03 17:27 ` Segher Boessenkool
2015-09-03 17:30 ` Oleg Endo
2015-09-03 18:53 ` Wilco Dijkstra
2015-09-03 18:42 ` Jeff Law
2015-09-03 19:06 ` Segher Boessenkool
2015-09-03 15:52 ` Jeff Law
2015-09-02 20:45 ` Jeff Law
2015-09-02 21:05 ` Segher Boessenkool
2015-09-03 15:26 ` Jeff Law
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55E897E2.4010104@redhat.com \
--to=law@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=segher@kernel.crashing.org \
--cc=wdijkstr@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).