This is the mail archive of the gcc@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: [i386] Scalar DImode instructions on XMM registers


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.

jeff


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