Skip to content

Commit 82465ad

Browse files
Andrew HsiehAndroid Git Automerger
authored andcommitted
am db96794: am 98815e3: Merge "Fix x86 endian.h"
* commit 'db967948ae83f61da106b521ae40ff4203d74620': Fix x86 endian.h
2 parents f1711f2 + db96794 commit 82465ad

File tree

1 file changed

+9
-19
lines changed
  • ndk/platforms/android-9/arch-x86/include/machine

1 file changed

+9
-19
lines changed

ndk/platforms/android-9/arch-x86/include/machine/endian.h

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $OpenBSD: endian.h,v 1.14 2005/12/13 00:35:23 millert Exp $ */
1+
/* $OpenBSD: endian.h,v 1.17 2011/03/12 04:03:04 guenther Exp $ */
22

33
/*-
44
* Copyright (c) 1997 Niklas Hallqvist. All rights reserved.
@@ -24,38 +24,28 @@
2424
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2525
*/
2626

27-
#ifndef _I386_ENDIAN_H_
28-
#define _I386_ENDIAN_H_
27+
#ifndef _MACHINE_ENDIAN_H_
28+
#define _MACHINE_ENDIAN_H_
2929

3030
#ifdef __GNUC__
3131

32-
#if defined(_KERNEL) && !defined(I386_CPU)
33-
#define __swap32md(x) ({ \
32+
#define __swap32md(x) __statement({ \
3433
uint32_t __swap32md_x = (x); \
3534
\
36-
__asm ("bswap %1" : "+r" (__swap32md_x)); \
35+
__asm ("bswap %0" : "+r" (__swap32md_x)); \
3736
__swap32md_x; \
3837
})
39-
#else
40-
#define __swap32md(x) ({ \
41-
uint32_t __swap32md_x = (x); \
42-
\
43-
__asm ("rorw $8, %w1; rorl $16, %1; rorw $8, %w1" : \
44-
"+r" (__swap32md_x)); \
45-
__swap32md_x; \
46-
})
47-
#endif /* _KERNEL && !I386_CPU */
4838

49-
#define __swap64md(x) ({ \
39+
#define __swap64md(x) __statement({ \
5040
uint64_t __swap64md_x = (x); \
5141
\
5242
(uint64_t)__swap32md(__swap64md_x >> 32) | \
5343
(uint64_t)__swap32md(__swap64md_x & 0xffffffff) << 32; \
5444
})
55-
#define __swap16md(x) ({ \
45+
#define __swap16md(x) __statement({ \
5646
uint16_t __swap16md_x = (x); \
5747
\
58-
__asm ("rorw $8, %w1" : "+r" (__swap16md_x)); \
48+
__asm ("rorw $8, %w0" : "+r" (__swap16md_x)); \
5949
__swap16md_x; \
6050
})
6151

@@ -68,4 +58,4 @@
6858
#include <sys/types.h>
6959
#include <sys/endian.h>
7060

71-
#endif /* _I386_ENDIAN_H_ */
61+
#endif /* _MACHINE_ENDIAN_H_ */

0 commit comments

Comments
 (0)