2015-05-22 11:53 GMT+03:00 Ilya Enkovich <enkovich....@gmail.com>:
> 2015-05-21 22:08 GMT+03:00 Vladimir Makarov <vmaka...@redhat.com>:
>> So, Ilya, to solve the problem you need to avoid sharing subregs for the
>> correct LRA/reload work.
>>
>>
>
> Thanks a lot for your help! I'll fix it.
>
> Ilya

I've fixed SUBREG sharing and got a missing spill. I added
--enable-checking=rtl to check other possible bugs. Spill/fill code
still seems incorrect because different sizes are used.  Shouldn't
block me though.

.L5:
        movl    16(%esp), %eax
        addl    $8, %esi
        movl    20(%esp), %edx
        movl    %eax, (%esp)
        movl    %edx, 4(%esp)
        call    counter@PLT
        movq    -8(%esi), %xmm0
        **movdqa  16(%esp), %xmm2**
        pand    %xmm0, %xmm2
        movdqa  %xmm2, %xmm0
        movd    %xmm2, %edx
        **movq    %xmm2, 16(%esp)**
        psrlq   $32, %xmm0
        movd    %xmm0, %eax
        orl     %edx, %eax
        jne     .L5

Thanks,
Ilya

Reply via email to