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
14static __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
23static __inline__ __attribute_const__ __u32 __arch_swab32(__u32 x)
24{
25	return __arch_swab64(x) >> 32;
26}
27#define __arch_swab32 __arch_swab32
28
29static __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