Linux 2.6.26-rc4
[linux-2.6] / include / asm-m68k / byteorder.h
1 #ifndef _M68K_BYTEORDER_H
2 #define _M68K_BYTEORDER_H
3
4 #include <asm/types.h>
5 #include <linux/compiler.h>
6
7 #ifdef __GNUC__
8
9 static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 val)
10 {
11         __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val));
12         return val;
13 }
14 #define __arch__swab32(x) ___arch__swab32(x)
15
16 #endif
17
18 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
19 #  define __BYTEORDER_HAS_U64__
20 #  define __SWAB_64_THRU_32__
21 #endif
22
23 #include <linux/byteorder/big_endian.h>
24
25 #endif /* _M68K_BYTEORDER_H */