-
Chris Lattner authored
xchgl %eax, %edx) to llvm.bswap.i64. This compiles: long long test2(long long A) { return _OSSwapInt64(A); } to: _test2: movl 8(%esp), %eax movl 4(%esp), %edx bswapl %eax bswapl %edx ret instead of: _test2: movl 8(%esp), %edx movl 4(%esp), %eax bswap %eax bswap %edx xchgl %eax, %edx ret GCC manages (with -fomit-frame-pointer) the uglier: _test2: subl $4, %esp movl 8(%esp), %eax movl 12(%esp), %edx bswap %eax bswap %edx xchgl %eax, %edx addl $4, %esp ret llvm-svn: 32001
38084725
Loading