http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35288
--- Comment #2 from davidxl <xinliangli at gmail dot com> 2010-11-02 23:40:15 UTC --- LLVM got it right: addl %esi, %edi leal (%rdx,%rdi,2), %eax vs gcc: addl %esi, %edx leal (%rsi,%rdi,2), %edi leal (%rdi,%rdx), %eax vs open64: leal 0(%rdi,%rsi,1), %eax # [0] addl %esi,%edx # [0] addl %edx,%edi # [1] addl %edi,%eax # [2] David