2009-12-01 Sebastian Pop <sebastian.pop@amd.com>
+ * config/i386/abmintrin.h (_mm_popcnt_u32): New.
+ (_mm_popcnt_u64): New.
+
+2009-12-01 Sebastian Pop <sebastian.pop@amd.com>
+
* config/i386/abmintrin.h: New.
* config/i386/i386-c.c (ix86_target_macros_internal): Defined __ABM__.
* config/i386/x86intrin.h: Include abmintrin.h when __ABM__ is defined.
#define _ABMINTRIN_H_INCLUDED
+/* Calculate a number of bits set to 1. */
+extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_mm_popcnt_u32 (unsigned int __X)
+{
+ return __builtin_popcount (__X);
+}
+
+#ifdef __x86_64__
+extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_mm_popcnt_u64 (unsigned long long __X)
+{
+ return __builtin_popcountll (__X);
+}
+#endif
+
#endif /* _ABMINTRIN_H_INCLUDED */