Mercurial > hg > truffle
diff src/os_cpu/linux_x86/vm/bytes_linux_x86.inline.hpp @ 52:75b0f3cb1943
Merge
author | dcubed |
---|---|
date | Thu, 13 Mar 2008 14:17:48 -0700 |
parents | 485d403e94e1 |
children | d1605aabd0a1 |
line wrap: on
line diff
--- a/src/os_cpu/linux_x86/vm/bytes_linux_x86.inline.hpp Thu Mar 13 05:40:44 2008 -0700 +++ b/src/os_cpu/linux_x86/vm/bytes_linux_x86.inline.hpp Thu Mar 13 14:17:48 2008 -0700 @@ -60,7 +60,18 @@ #ifdef AMD64 inline u8 Bytes::swap_u8(u8 x) { +#ifdef SPARC_WORKS + // workaround for SunStudio12 CR6615391 + __asm__ __volatile__ ( + "bswapq %0" + :"=r" (x) // output : register 0 => x + :"0" (x) // input : x => register 0 + :"0" // clobbered register + ); + return x; +#else return bswap_64(x); +#endif } #else // Helper function for swap_u8