This is the mail archive of the
mailing list for the GCC project.
Re: [i386] Scalar DImode instructions on XMM registers
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Vladimir Makarov <vmakarov at redhat dot com>, Ilya Enkovich <enkovich dot gnu at gmail dot com>, GCC Development <gcc at gcc dot gnu dot org>, Uros Bizjak <ubizjak at gmail dot com>, Richard Henderson <rth at redhat dot com>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Thu, 21 May 2015 22:27:55 +0200
- Subject: Re: [i386] Scalar DImode instructions on XMM registers
- Authentication-results: sourceware.org; auth=none
- References: <CAMbmDYYfq-RVYa0MwrGH_DpnV7psPHKZpxaouMuq_nsOPeO_ug at mail dot gmail dot com> <20150425013239 dot GB719 at atrey dot karlin dot mff dot cuni dot cz> <CAMbmDYbN7Zk9gg=UNRP3O8L8e5qxiK6jXi-SLEVDoMmBbqLXFQ at mail dot gmail dot com> <CAMbmDYY+a=LeqTcajW=g=e01q=R5ALykhFLwF0ypcAhKjnv0RA at mail dot gmail dot com> <555B552A dot 8010008 at redhat dot com> <20150520081738 dot GE47912 at msticlxl57 dot ims dot intel dot com> <555D50A3 dot 2000206 at redhat dot com> <20150521095442 dot GH47912 at msticlxl57 dot ims dot intel dot com> <555E2D37 dot 30107 at redhat dot com> <555E3ED3 dot 7070200 at redhat dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Thu, May 21, 2015 at 02:23:47PM -0600, Jeff Law wrote:
> On 05/21/2015 01:08 PM, Vladimir Makarov wrote:
> >On 05/21/2015 05:54 AM, Ilya Enkovich wrote:
> >>>Thanks. For me it looks like an inheritance bug. It is really hard
> >>>>to fix the bug w/o the source code. Could you send me your patch in
> >>>>order I can debug RA with it to investigate more.
> >>Sure! Here is a patch and a testcase. I applied patch to r222125.
> >>Cmd to reproduce:
> >>gcc -m32 -msse4.2 -O2 pr65105.c -S -march=slm -fPIE
> >The problem is in sharing a subreg in different insns. Pseudo should be
> >shared but not their subregs.
> [ ... ]
> >So, Ilya, to solve the problem you need to avoid sharing subregs for the
> >correct LRA/reload work.
> If their code is sharing subregs, then most definitely that code is wrong.
> GCC has very well defined rtx sharing rules that are defined in the
> developer documentation.
Shouldn't --enable-checking=rtl catch such bugs?