summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arc/bits/byteswap.h
blob: 75fa3590d2084bc9ff7e90e70d5c5cda72ac37ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 * Copyright (C) 2013 Synopsys, Inc. (www.synopsys.com)
 *
 * Licensed under LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
 *
 */

#ifndef _ASM_BITS_BYTESWAP_H
#define _ASM_BITS_BYTESWAP_H 1

#ifdef __Xswape	/* gcc defined if -mswape is enabled */

#define __bswap_non_constant_32(x)			\
	__extension__ 					\
	({ unsigned int __bswap_32_v = x; 		\
	__asm__ ("swape %0, %0" : "+r" (__bswap_32_v));	\
	__bswap_32_v; })

#endif	/* __Xswape */

#endif	/* _ASM_BITS_BYTESWAP_H */

#include <bits/byteswap-common.h>