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