X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=i686-linux-gnu-4.7%2Fusr%2Finclude%2Fx86_64-linux-gnu%2Fasm%2Fswab.h;fp=i686-linux-gnu-4.7%2Fusr%2Finclude%2Fx86_64-linux-gnu%2Fasm%2Fswab.h;h=5353f76c9ae4a02b05b88f27127c6045c8c5f91d;hb=94df942c2c7bd3457276fe5b7367623cbb8c1302;hp=0000000000000000000000000000000000000000;hpb=4dd7d9155a920895ff7b1cb6b9c9c676aa62000a;p=cross.git diff --git a/i686-linux-gnu-4.7/usr/include/x86_64-linux-gnu/asm/swab.h b/i686-linux-gnu-4.7/usr/include/x86_64-linux-gnu/asm/swab.h new file mode 100644 index 0000000..5353f76 --- /dev/null +++ b/i686-linux-gnu-4.7/usr/include/x86_64-linux-gnu/asm/swab.h @@ -0,0 +1,37 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_X86_SWAB_H +#define _ASM_X86_SWAB_H + +#include + + +static __inline__ __u32 __arch_swab32(__u32 val) +{ + __asm__("bswapl %0" : "=r" (val) : "0" (val)); + return val; +} +#define __arch_swab32 __arch_swab32 + +static __inline__ __u64 __arch_swab64(__u64 val) +{ +#ifdef __i386__ + union { + struct { + __u32 a; + __u32 b; + } s; + __u64 u; + } v; + v.u = val; + __asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1" + : "=r" (v.s.a), "=r" (v.s.b) + : "0" (v.s.a), "1" (v.s.b)); + return v.u; +#else /* __i386__ */ + __asm__("bswapq %0" : "=r" (val) : "0" (val)); + return val; +#endif +} +#define __arch_swab64 __arch_swab64 + +#endif /* _ASM_X86_SWAB_H */