> Note that at -O3 there is a difference still: > clang (3.6.0): > addl %esi, %edi > movl %edi, %eax > retq > > gcc (4.9.2) > leal (%rdi,%rsi), %eax > ret > > Can't tell which is best, if any.
But what's your point exactly here? You cannot expect different compilers to generate exactly the same code on a given testcase for non-toy architectures. Note that this kind of discussion is more appropriate for gcc-h...@gcc.gnu.org -- Eric Botcazou