| #ifndef _ASM_IA64_BYTEORDER_H | |
| #define _ASM_IA64_BYTEORDER_H | |
| /* | |
| * Modified 1998, 1999 | |
| * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co. | |
| */ | |
| #include <asm/types.h> | |
| #include <asm/intrinsics.h> | |
| #include <linux/compiler.h> | |
| static __inline__ __attribute_const__ __u64 | |
| __ia64_swab64 (__u64 x) | |
| { | |
| __u64 result; | |
| result = ia64_mux1(x, ia64_mux1_rev); | |
| return result; | |
| } | |
| static __inline__ __attribute_const__ __u32 | |
| __ia64_swab32 (__u32 x) | |
| { | |
| return __ia64_swab64(x) >> 32; | |
| } | |
| static __inline__ __attribute_const__ __u16 | |
| __ia64_swab16(__u16 x) | |
| { | |
| return __ia64_swab64(x) >> 48; | |
| } | |
| #define __arch__swab64(x) __ia64_swab64(x) | |
| #define __arch__swab32(x) __ia64_swab32(x) | |
| #define __arch__swab16(x) __ia64_swab16(x) | |
| #define __BYTEORDER_HAS_U64__ | |
| #include <linux/byteorder/little_endian.h> | |
| #endif /* _ASM_IA64_BYTEORDER_H */ |