This source file includes following definitions.
- ___arch__swab32
- ___arch__swab16
1
2
3
4 #ifndef __NDS32_SWAB_H__
5 #define __NDS32_SWAB_H__
6
7 #include <linux/types.h>
8 #include <linux/compiler.h>
9
10 static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
11 {
12 __asm__("wsbh %0, %0\n\t"
13 "rotri %0, %0, #16\n"
14 :"=r"(x)
15 :"0"(x));
16 return x;
17 }
18
19 static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x)
20 {
21 __asm__("wsbh %0, %0\n"
22 :"=r"(x)
23 :"0"(x));
24 return x;
25 }
26
27 #define __arch_swab32(x) ___arch__swab32(x)
28 #define __arch_swab16(x) ___arch__swab16(x)
29
30 #if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
31 #define __BYTEORDER_HAS_U64__
32 #define __SWAB_64_THRU_32__
33 #endif
34
35 #endif