• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 unsigned short __cdecl _byteswap_ushort(unsigned short _Short);
2 
_byteswap_ushort(unsigned short _Short)3 unsigned short __cdecl _byteswap_ushort(unsigned short _Short)
4 {
5 #if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__)
6   unsigned short retval;
7   __asm__ __volatile__ ("rorw $8, %w[retval]" : [retval] "=rm" (retval) : "[retval]" (_Short));
8   return retval;
9 #else
10   unsigned char *b = (void*)&_Short;
11   unsigned char tmp;
12   tmp = b[0];
13   b[0] = b[1];
14   b[1] = tmp;
15   return _Short;
16 #endif /* defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) */
17 }
18