forked from pool/mingw32-headers
OBS-URL: https://build.opensuse.org/package/show/windows:mingw:win32/mingw32-headers?expand=0&rev=44
This commit is contained in:
parent
58f907bf28
commit
8615d92dbf
51
popcnt.patch
51
popcnt.patch
@ -1,51 +0,0 @@
|
||||
commit 5aa73896a3313a354cf6550d99ecd652d0abd3b2
|
||||
Author: David Grayson <davidegrayson@gmail.com>
|
||||
Date: Wed Feb 8 18:56:17 2017 +0100
|
||||
|
||||
intrin-impl.h: Added __popcnt16, __popcnt, and __popcnt64.
|
||||
|
||||
diff --git a/mingw-w64-headers/include/psdk_inc/intrin-impl.h b/mingw-w64-headers/include/psdk_inc/intrin-impl.h
|
||||
index f8dc78f9..fc781ff9 100644
|
||||
--- a/mingw-w64-headers/include/psdk_inc/intrin-impl.h
|
||||
+++ b/mingw-w64-headers/include/psdk_inc/intrin-impl.h
|
||||
@@ -971,6 +971,40 @@ __buildbittesti(InterlockedBitTestAndComplement, __LONG32, "eor", "M", volatile)
|
||||
|
||||
#if defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) || defined(__arm__) || defined(_ARM_)
|
||||
|
||||
+#if !defined(__clang__)
|
||||
+
|
||||
+#if __INTRINSIC_PROLOG(__popcnt16)
|
||||
+unsigned short __popcnt16(unsigned short);
|
||||
+__INTRINSICS_USEINLINE
|
||||
+unsigned short __popcnt16(unsigned short value)
|
||||
+{
|
||||
+ return __builtin_popcount(value);
|
||||
+}
|
||||
+#define __INTRINSIC_DEFINED___popcnt16
|
||||
+#endif /* __INTRINSIC_PROLOG */
|
||||
+
|
||||
+#if __INTRINSIC_PROLOG(__popcnt)
|
||||
+unsigned int __popcnt(unsigned int);
|
||||
+__INTRINSICS_USEINLINE
|
||||
+unsigned int __popcnt(unsigned int value)
|
||||
+{
|
||||
+ return __builtin_popcount(value);
|
||||
+}
|
||||
+#define __INTRINSIC_DEFINED___popcnt
|
||||
+#endif /* __INTRINSIC_PROLOG */
|
||||
+
|
||||
+#if __INTRINSIC_PROLOG(__popcnt64)
|
||||
+unsigned __int64 __popcnt64(unsigned __int64);
|
||||
+__INTRINSICS_USEINLINE
|
||||
+unsigned __int64 __popcnt64(unsigned __int64 value)
|
||||
+{
|
||||
+ return __builtin_popcountll(value);
|
||||
+}
|
||||
+#define __INTRINSIC_DEFINED___popcnt64
|
||||
+#endif /* __INTRINSIC_PROLOG */
|
||||
+
|
||||
+#endif /* !defined(__clang__) */
|
||||
+
|
||||
#if __INTRINSIC_PROLOG(_InterlockedAnd)
|
||||
__LONG32 _InterlockedAnd(__LONG32 volatile *, __LONG32);
|
||||
__INTRINSICS_USEINLINE
|
Loading…
Reference in New Issue
Block a user