This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, committed] SH: Fix PR58314 (unsatisfied constraints)
- From: Oleg Endo <oleg dot endo at t-online dot de>
- To: Christian Bruel <christian dot bruel at st dot com>
- Cc: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>, "rdsandiford at googlemail dot com" <rdsandiford at googlemail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 19 Sep 2013 10:55:34 +0200
- Subject: Re: [PATCH, committed] SH: Fix PR58314 (unsatisfied constraints)
- Authentication-results: sourceware.org; auth=none
- References: <52395C62 dot 5000105 at st dot com> <1379509163 dot 32276 dot 140 dot camel at yam-132-YW-E178-FTW> <5239C90C dot 6040304 at st dot com> <20130919 dot 081524 dot 489555491 dot kkojima at rr dot iij4u dot or dot jp> <523AB982 dot 9050303 at st dot com>
Hi,
On Thu, 2013-09-19 at 10:44 +0200, Christian Bruel wrote:
> Hi Kaz, Oleg,
>
> On 09/19/2013 01:15 AM, Kaz Kojima wrote:
> > Christian Bruel <christian.bruel@st.com> wrote:
> >> && (!can_create_pseudo_p () && REG_P (operands[0]) && REG_P (operands[1]))"
> >>
> >> is necessary ?
> > It looks an another hack to allow the 2nd and 3rd alternatives only
> > when reloading. If so, it might be a bit cleaner to use a special
> > predicate like
> >
> >
> This still looks complicated to me. I have tested for sh-superh-elf and
> sh-linux the attached patch that just "fixes" the issue reported by
> Richard with no regression and absolutely no differences in code
> generation for CSIBe and a few other benches (eembc, coremark, ...).
> The spill alternatives are correctly selected and the original PR still
> passes.
>
> If OK I'd like to apply it to trunk/4.8. If there is the need for an
> additional hack, How about sending it separately ?
Yeah, the move patterns probably could use some cleanup / refactoring
anyway. I also wonder what is going to happen if LRA is used ... but
that's another story. Have you also checked the patch for SH2A?
Cheers,
Oleg