mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-25 00:33:15 +00:00
5d52135a14
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32001 91177308-0d34-0410-b5e6-96231b3b80d8