root/arch/m68k/include/uapi/asm/swab.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. __arch_swab32
  2. __arch_swab32

   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 #ifndef _M68K_SWAB_H
   3 #define _M68K_SWAB_H
   4 
   5 #include <linux/types.h>
   6 #include <linux/compiler.h>
   7 
   8 #define __SWAB_64_THRU_32__
   9 
  10 #if defined (__mcfisaaplus__) || defined (__mcfisac__)
  11 static inline __attribute_const__ __u32 __arch_swab32(__u32 val)
  12 {
  13         __asm__("byterev %0" : "=d" (val) : "0" (val));
  14         return val;
  15 }
  16 
  17 #define __arch_swab32 __arch_swab32
  18 #elif !defined(__mcoldfire__)
  19 
  20 static inline __attribute_const__ __u32 __arch_swab32(__u32 val)
  21 {
  22         __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val));
  23         return val;
  24 }
  25 #define __arch_swab32 __arch_swab32
  26 #endif
  27 
  28 #endif /* _M68K_SWAB_H */

/* [<][>][^][v][top][bottom][index][help] */