https://llvm.org/bugs/show_bug.cgi?id=27519
Bug ID: 27519 Summary: Missed induction variable optimizations (-m64 -O2 -march=slm) Product: libraries Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P Component: Loop Optimizer Assignee: unassignedb...@nondot.org Reporter: andrew.senkev...@intel.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 16267 --> https://llvm.org/bugs/attachment.cgi?id=16267&action=edit Small reproducer Hi, for attached test Clang generates 5% slower code than GCC due to missed optimizations of induction variable. Clang assembly for hottest loop: 4005c0: 8b 1f mov (%rdi),%ebx 4005c2: 0f af 1e imul (%rsi),%ebx 4005c5: 83 c2 01 add $0x1,%edx 4005c8: 48 81 c7 24 03 00 00 add $0x324,%rdi 4005cf: 48 83 c6 04 add $0x4,%rsi 4005d3: 01 d9 add %ebx,%ecx 4005d5: 39 d0 cmp %edx,%eax 4005d7: 75 e7 jne 4005c0 <main+0x50> GCC assembly: 400410: 8b 94 87 60 10 60 00 mov 0x601060(%rdi,%rax,4),%edx 400417: 48 83 c0 01 add $0x1,%rax 40041b: 48 81 c1 24 03 00 00 add $0x324,%rcx 400422: 0f af 91 dc fc ff ff imul -0x324(%rcx),%edx 400429: 01 d6 add %edx,%esi 40042b: 41 39 c0 cmp %eax,%r8d 40042e: 7f e0 jg 400410 <main+0x40> And the same for outer loop. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs