This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Improve cstore code generation on 64-bit sparc.
- From: David Miller <davem at davemloft dot net>
- To: gcc-patches at gcc dot gnu dot org
- Cc: ebotcazou at adacore dot com
- Date: Wed, 10 Apr 2013 15:42:54 -0400 (EDT)
- Subject: Re: [PATCH] Improve cstore code generation on 64-bit sparc.
- References: <20130408 dot 215604 dot 2064843235368371573 dot davem at davemloft dot net>
From: David Miller <davem@davemloft.net>
Date: Mon, 08 Apr 2013 21:56:04 -0400 (EDT)
>
> One major suboptimal area of the sparc back end is cstore generation
> on 64-bit.
>
> Due to the way arguments and return values of functions must be
> promoted, the ideal mode for cstore's result would be DImode.
>
> But this hasn't been done because of a fundamental limitation
> of the cstore patterns. They require a fixed mode be used for
> the boolean result value.
>
> I've decided to work around this by building a target hook which
> specifies the type to use for conditional store results, and then I
> use a special predicate for operans 0 in the cstore expanders so
> that they still match even when we use DImode.
>
> The default version of the target hook just does what it does now,
> so no other target should be impacted by this at all.
>
> Regstrapped on 32-bit sparc-linux-gnu and I've run the testsuite
> with "-m64" to validate the 64-bit side.
>
> Any major objections?
Since no objections were expressed, I've committed this to trunk.