https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71361
--- Comment #3 from amker at gcc dot gnu.org --- (In reply to Jakub Jelinek from comment #2) > Any progress with this? I had a patch which can resolve the reported regression, and generate even better code than the original: .L5: movl (%esi,%ecx,4), %eax movl -4128(%ebp), %edx movl -4124(%ebp), %ebx imull (%edi,%ecx,4), %ebx imull %eax, %edx imull -4124(%ebp), %eax addl %ebx, %edx movl -4128(%ebp), %ebx imull (%edi,%ecx,4), %ebx addl %ebx, %eax movl -4132(%ebp), %ebx movl %edx, (%ebx,%ecx,4) movl -4136(%ebp), %ebx movl %edx, (%edi,%ecx,4) movl %eax, (%ebx,%ecx,4) movl %eax, (%esi,%ecx,4) addl -4140(%ebp), %ecx cmpl $511, %ecx jle .L5 But this patch is a complete rewrite of major part of IVOPT, which is a stage 1 work.