Merge branch 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[linux-2.6/next.git] / arch / ia64 / include / asm / swab.h
blobc89a8cb5d8a592f7c89ac30e198642a91d4d5bcd
1 #ifndef _ASM_IA64_SWAB_H
2 #define _ASM_IA64_SWAB_H
4 /*
5 * Modified 1998, 1999
6 * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co.
7 */
9 #include <linux/types.h>
10 #include <asm/intrinsics.h>
11 #include <linux/compiler.h>
13 static __inline__ __attribute_const__ __u64 __arch_swab64(__u64 x)
15 __u64 result;
17 result = ia64_mux1(x, ia64_mux1_rev);
18 return result;
20 #define __arch_swab64 __arch_swab64
22 static __inline__ __attribute_const__ __u32 __arch_swab32(__u32 x)
24 return __arch_swab64(x) >> 32;
26 #define __arch_swab32 __arch_swab32
28 static __inline__ __attribute_const__ __u16 __arch_swab16(__u16 x)
30 return __arch_swab64(x) >> 48;
32 #define __arch_swab16 __arch_swab16
34 #endif /* _ASM_IA64_SWAB_H */