xref: /openbmc/linux/arch/ia64/include/uapi/asm/swab.h (revision 37002bc6)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _ASM_IA64_SWAB_H
3 #define _ASM_IA64_SWAB_H
4 
5 /*
6  * Modified 1998, 1999
7  *	David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co.
8  */
9 
10 #include <linux/types.h>
11 #include <asm/intrinsics.h>
12 #include <linux/compiler.h>
13 
14 static __inline__ __attribute_const__ __u64 __arch_swab64(__u64 x)
15 {
16 	__u64 result;
17 
18 	result = ia64_mux1(x, ia64_mux1_rev);
19 	return result;
20 }
21 #define __arch_swab64 __arch_swab64
22 
23 static __inline__ __attribute_const__ __u32 __arch_swab32(__u32 x)
24 {
25 	return __arch_swab64(x) >> 32;
26 }
27 #define __arch_swab32 __arch_swab32
28 
29 static __inline__ __attribute_const__ __u16 __arch_swab16(__u16 x)
30 {
31 	return __arch_swab64(x) >> 48;
32 }
33 #define __arch_swab16 __arch_swab16
34 
35 #endif /* _ASM_IA64_SWAB_H */
36