11
11
#define __POPCNTINTRIN_H
12
12
13
13
/* Define the default attributes for the functions in this file. */
14
- #define __DEFAULT_FN_ATTRS __attribute__ ((__always_inline__, __nodebug__, __target__(" popcnt" )))
15
-
16
14
#if defined(__cplusplus) && (__cplusplus >= 201103L)
17
- #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
15
+ #define __DEFAULT_FN_ATTRS \
16
+ __attribute__ ((__always_inline__, __nodebug__, \
17
+ __target__ (" popcnt" ))) constexpr
18
18
#else
19
- #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
19
+ #define __DEFAULT_FN_ATTRS \
20
+ __attribute__ ((__always_inline__, __nodebug__, __target__(" popcnt" )))
20
21
#endif
21
22
22
23
// / Counts the number of bits in the source operand having a value of 1.
29
30
// / An unsigned 32-bit integer operand.
30
31
// / \returns A 32-bit integer containing the number of bits with value 1 in the
31
32
// / source operand.
32
- static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
33
+ static __inline__ int __DEFAULT_FN_ATTRS
33
34
_mm_popcnt_u32 (unsigned int __A)
34
35
{
35
36
return __builtin_popcount (__A);
@@ -46,14 +47,13 @@ _mm_popcnt_u32(unsigned int __A)
46
47
// / An unsigned 64-bit integer operand.
47
48
// / \returns A 64-bit integer containing the number of bits with value 1 in the
48
49
// / source operand.
49
- static __inline__ long long __DEFAULT_FN_ATTRS_CONSTEXPR
50
+ static __inline__ long long __DEFAULT_FN_ATTRS
50
51
_mm_popcnt_u64 (unsigned long long __A)
51
52
{
52
53
return __builtin_popcountll (__A);
53
54
}
54
55
#endif /* __x86_64__ */
55
56
56
57
#undef __DEFAULT_FN_ATTRS
57
- #undef __DEFAULT_FN_ATTRS_CONSTEXPR
58
58
59
59
#endif /* __POPCNTINTRIN_H */
0 commit comments