This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PR68432 01/22][ARM] Remove operand dependency from "type" attribute
- From: Yvan Roux <yvan dot roux at linaro dot org>
- To: Bernd Schmidt <bschmidt at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, nickc at redhat dot com, Richard Earnshaw <richard dot earnshaw at arm dot com>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>, Kyrylo Tkachov <kyrylo dot tkachov at arm dot com>, richard dot sandiford at arm dot com
- Date: Wed, 25 Nov 2015 15:10:05 +0100
- Subject: Re: [PR68432 01/22][ARM] Remove operand dependency from "type" attribute
- Authentication-results: sourceware.org; auth=none
- References: <874mgajmo9 dot fsf at e105548-lin dot cambridge dot arm dot com> <87ziy2i80z dot fsf at e105548-lin dot cambridge dot arm dot com> <5655BD8B dot 5090402 at redhat dot com>
Hi,
On 25 November 2015 at 14:54, Bernd Schmidt <bschmidt@redhat.com> wrote:
> On 11/25/2015 01:21 PM, Richard Sandiford wrote:
>>
>> - (plus:SI (match_operand:SI 0 "s_register_operand" "l, r")
>> - (match_operand:SI 1 "arm_add_operand" "lPv,rIL"))
>> + (plus:SI (match_operand:SI 0 "s_register_operand" "l,l, r,r")
>> + (match_operand:SI 1 "arm_add_operand" "l,Pv,r,IL"))
>
>
> I'll leave it to ARM maintainers to approve or reject, but I want to point
> out one thing: IMO this sort of thing is better written as "l,lPv,r,rIL",
> allowing a larger set of inputs for the later alternatives while still
> returning the more specific earlier one if it matches. I don't know whether
> LRA takes advantage of that, but it could help reload, and any post-reload
> pass might look at the current alternative for a given insn to see whether
> it can be replaced by a register.
I don't remember the PR number (I can dig if needed) but I remember
that we had an LRA ICE due to redundancy in patterns alternative
description. Thus, if it is beneficial to give larger set of inputs
in later alternatives, we have to strengthen the support in LRA.
> Bernd