This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA: patch to fix PR19398
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 19 Nov 2012 08:55:52 +0100
- Subject: Re: RFA: patch to fix PR19398
- References: <50A98F1E.4000002@redhat.com>
On Mon, Nov 19, 2012 at 2:45 AM, Vladimir Makarov <vmakarov@redhat.com> wrote:
> The following patch fixes
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19398
>
> Uros, there is i386.md part for which I need an approval. Without this
> change, GCC will still generate the same code even if LRA uses an
> alternative with 'm' constraint.
>
> 2012-11-18 Vladimir Makarov <vmakarov@redhat.com>
>
> PR target/19398
> * lra-constraints.c (process_alt_operands): Discourage reloads
> through secodnary memory.
> * config/i386/i386.md (fix_trunc?f?i_sse): Remove peephole2
> patterns.
Thanks!
Please note that i386.md change is not correct, it is peephole2 with
"Shorten x87->SSE reload sequences ..." comment that is not effective
anymore with your patch and should now be removed. The peephole2s that
your patch removes undo LRA transformation for targets that *do not*
benefit from MEM->REG operation for this particular FIX RTX. (Also,
please note that your patch includes movti_internal_rex64 change that
was already reverted due to better fix).
Please remove mentioned peephole2 instead. The test from the PR will
show effects of LRA change for all targets, other than core2i7_64, k8
and generic 64bit targets.
The patch that removes mentioned peephole2 from i386.md is pre-approved.
Thanks,
Uros.
>