1#ifndef _ASM_IA64_BYTEORDER_H
2#define _ASM_IA64_BYTEORDER_H
3
4/*
5 * Copyright (C) 1998, 1999 Hewlett-Packard Co
6 * Copyright (C) 1998, 1999 David Mosberger-Tang <davidm@hpl.hp.com>
7 */
8
9#include <asm/types.h>
10
11static __inline__ __const__ __u64
12__ia64_swab64 (__u64 x)
13{
14	__u64 result;
15
16	__asm__ ("mux1 %0=%1,@rev" : "=r" (result) : "r" (x));
17	return result;
18}
19
20static __inline__ __const__ __u32
21__ia64_swab32 (__u32 x)
22{
23	return __ia64_swab64(x) >> 32;
24}
25
26static __inline__ __const__ __u16
27__ia64_swab16(__u16 x)
28{
29	return __ia64_swab64(x) >> 48;
30}
31
32#define __arch__swab64(x) __ia64_swab64(x)
33#define __arch__swab32(x) __ia64_swab32(x)
34#define __arch__swab16(x) __ia64_swab16(x)
35
36#define __BYTEORDER_HAS_U64__
37
38#include <linux/byteorder/little_endian.h>
39
40#endif /* _ASM_IA64_BYTEORDER_H */
41