https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78794
Bug ID: 78794 Summary: [7 Regression] We noticed ~9% regression in 32-bit mode for 462.libquntum on Avoton after r243202 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ysrumyan at gmail dot com Target Milestone: --- STV phase does not recognize some patterns after this revision, regression can be reproduced with attached simple test-case. Note that before this revision the following code has been produced for loop body: .L4: movq (%eax), %xmm1 movdqa %xmm1, %xmm4 pand %xmm2, %xmm4 movdqa %xmm4, %xmm0 pxor %xmm2, %xmm0 punpcklqdq %xmm0, %xmm0 ptest %xmm0, %xmm0 jne .L3 pxor %xmm3, %xmm1 movq %xmm1, (%eax) .L3: addl $12, %eax cmpl %edx, %eax jne .L4 but after we see .L4: movl 4(%eax), %edi movl (%eax), %esi movl %edi, %ebx movl %esi, %ecx notl %ebx andl 4(%esp), %ebx notl %ecx andl (%esp), %ecx movl %ebx, %ebp orl %ecx, %ebp jne .L3 xorl 8(%esp), %esi xorl 12(%esp), %edi movl %esi, (%eax) movl %edi, 4(%eax) .L3: addl $12, %eax cmpl %edx, %eax jne .L4