This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Avoid PR72749 by not using unspecs
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Alan Modra <amodra at gmail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Segher Boessenkool <segher at kernel dot crashing dot org>
- Date: Fri, 13 Jan 2017 16:58:40 +0100
- Subject: Re: Avoid PR72749 by not using unspecs
- Authentication-results: sourceware.org; auth=none
- References: <20170113115058.GU32333@bubble.grove.modra.org>
On Fri, Jan 13, 2017 at 12:50 PM, Alan Modra <amodra@gmail.com> wrote:
> Rather than using unspecs in doloop insns to stop combine creating
> these insns, use legitimate_combined_insn.
>
> I'm not sure why the original patch implementing
> legitimate_combined_insn did not store the result of recog to the insn
> but it seems good to me, and would allow the recog call in
> ix86_legitimate_combined_insn to be omitted. (I tested that too, not
> shown here.)
IIRC, I copied operand scanning loop from recog.c (around line 2580)
and the function was later enhanced with preferred alternatives
handling. The function worked well, and not being an expert in this
area, I didn't try to "optimize" the code that worked...
So, there is no particular reason for the current implementation.
Uros.