This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC PATCH, i386]: Remove peephole2s for (subreg (operator (...)(...))) RTXes


Uros Bizjak <ubizjak@gmail.com> writes:
> On Sun, Oct 28, 2012 at 2:37 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>
>>>> As suggested by Richard S. [1], after the patch that converts subreg:M
>>>> (op:N (...)(...)) to op:M (subreg:M (...) subreg:M (...)), we can
>>>> remove several peephole2 patterns that handle subregs of PLUS, MINUS
>>>> and MULT operators. I have attached RFC prototype patch that will
>>>> trigger an ICE when to-be-removed pattern triggers, with the intention
>>>> that these patterns wil be removed entirely (An "invalid" pattern was
>>>> indeed generated elsewhere, see patch).
>
> I have committed following version that avoids all failures, reported by H.J.:
>
> 2012-10-29  Uros Bizjak  <ubizjak@gmail.com>
>
> 	* config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
> 	to generate SImode equivalent of address, zero-extended with AND RTX.
> 	* config/i386/i386.md (ashift to lea splitter): Split to SImode mult.
> 	(simple lea to add/shift peephole2s): Remove peephole2s that operate
> 	on subregs of DImode operations.
>
> Re-tested on x86_64-pc-linux-gnu {,-m32} and committed to mainline SVN.

Thanks!


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]