Differences From Artifact [63162e95ce]:
- File src/OFMacros.h — part of check-in [37e9b7c11c] at 2009-08-30 20:06:15 on branch trunk — Add some PowerPC assembly optimizations. (user: js, size: 3310) [annotate] [blame] [check-ins using]
To Artifact [830442e230]:
- File
src/OFMacros.h
— part of check-in
[2ff4ae177d]
at
2009-08-31 00:19:41
on branch trunk
— Optimize OF_BSWAP64.
If we have a native OF_BSWAP32, it is still faster to shift and use
OF_BSWAP32 twice rather than having our own OF_BSWAP64. If we don't
have OF_BSWAP32 either, this generates exactly the same code as it did
before, but is much shorter. (user: js, size: 2998) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
72 73 74 75 76 77 78 | #if defined(OF_AMD64_ASM) asm("bswap %0" : "=r"(i) : "r"(i)); #elif defined(OF_X86_ASM) asm("bswap %%eax\n\t" "bswap %%edx\n\t" "xchgl %%eax, %%edx" : "=A"(i): "A"(i)); #else | | < < < < < < < | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #if defined(OF_AMD64_ASM) asm("bswap %0" : "=r"(i) : "r"(i)); #elif defined(OF_X86_ASM) asm("bswap %%eax\n\t" "bswap %%edx\n\t" "xchgl %%eax, %%edx" : "=A"(i): "A"(i)); #else i = (uint64_t)OF_BSWAP32(i & 0xFFFFFFFF) << 32 | OF_BSWAP32(i >> 32); #endif return i; } static OF_INLINE void OF_BSWAP32_V(uint32_t *buf, size_t len) { |
︙ | ︙ |