1 #ifndef __ASM_SH64_BYTEORDER_H
2 #define __ASM_SH64_BYTEORDER_H
5 * This file is subject to the terms and conditions of the GNU General Public
6 * License. See the file "COPYING" in the main directory of this archive
9 * include/asm-sh64/byteorder.h
11 * Copyright (C) 2000, 2001 Paolo Alberelli
15 #include <asm/types.h>
17 static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
19 __asm__("byterev %0, %0\n\t"
26 static inline __attribute_const__ __u16 ___arch__swab16(__u16 x)
28 __asm__("byterev %0, %0\n\t"
35 #define __arch__swab32(x) ___arch__swab32(x)
36 #define __arch__swab16(x) ___arch__swab16(x)
38 #if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
39 # define __BYTEORDER_HAS_U64__
40 # define __SWAB_64_THRU_32__
43 #ifdef __LITTLE_ENDIAN__
44 #include <linux/byteorder/little_endian.h>
46 #include <linux/byteorder/big_endian.h>
49 #endif /* __ASM_SH64_BYTEORDER_H */