This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix extendsidi2_1 splitting (PR rtl-optimization/57281, PR rtl-optimization/57300 wrong-code, alternative)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>, Richard Henderson <rth at redhat dot com>, Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 17 May 2013 14:15:49 +0200
- Subject: Re: [PATCH] Fix extendsidi2_1 splitting (PR rtl-optimization/57281, PR rtl-optimization/57300 wrong-code, alternative)
- References: <20130516162210 dot GI1377 at tucnak dot redhat dot com> <20130517082501 dot GQ1377 at tucnak dot redhat dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, May 17, 2013 at 10:25:01AM +0200, Jakub Jelinek wrote:
> Alternative, so far untested, patch is let the register is not dead splitter
> do its job always during split2 and just fix it up during peephole2, if the
> register was dead.
Now fully bootstrapped/regtested on x86_64-linux and i686-linux.
> 2013-05-17 Jakub Jelinek <jakub@redhat.com>
>
> PR rtl-optimization/57281
> PR rtl-optimization/57300
> * config/i386/i386.md (extendsidi2_1 dead reg splitter): Remove.
> (extendsidi2_1 peephole2s): Add instead 2 new peephole2s, that undo
> what the other splitter did if the registers are dead.
>
> * gcc.dg/pr57300.c: New test.
> * gcc.c-torture/execute/pr57281.c: New test.
Jakub