12345678910111213141516171819202122232425262728293031323334 |
- /* File: libc/sysdeps/linux/bfin/bits/byteswap.h
- *
- * Copyright 2004-2006 Analog Devices Inc.
- *
- * Enter bugs at http://blackfin.uclinux.org/
- *
- * Licensed under the GPL-2 or later.
- */
- #ifndef _ASM_BITS_BYTESWAP_H
- #define _ASM_BITS_BYTESWAP_H 1
- #define __bswap_non_constant_16(x) \
- (__extension__ \
- ({ register unsigned short int __v; \
- __asm__ ("%0 = PACK (%1.L, %1.L);" \
- "%0 >>= 8;" \
- : "=d" (__v) \
- : "d" (x)); \
- __v; }))
- #define __bswap_non_constant_32(x) \
- (__extension__ \
- ({ register unsigned int __v; \
- __asm__ ("%1 = %0 >> 8 (V);" \
- "%0 = %0 << 8 (V);" \
- "%0 = %0 | %1;" \
- "%1 = PACK(%0.L, %0.H);" \
- : "+d"(x), "=&d"(__v)); \
- __v; }))
- #endif
- #include <bits/byteswap-common.h>
|