http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53991
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |x86_64 Status|UNCONFIRMED |NEW Last reconfirmed| |2013-05-16 Component|c |libitm Ever confirmed|0 |1 --- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> --- Confirmed with: gcc version 4.9.0 20130516 (experimental) [trunk revision 198977] (GCC) --cut here-- extern inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_popcnt_u64 (unsigned long long __X) { return __builtin_popcountll (__X); } int main (void) { int res = _mm_popcnt_u64 (0); printf ("Result res should be 0: %d\n", res); return 0; } --cut here-- ~/gcc-build/gcc/cc1 -O2 -msse4 -fgnu-tm 029.c 029.c: In function ‘main’: 029.c:2:1: error: inlining failed in call to always_inline ‘_mm_popcnt_u64’: _mm_popcnt_u64 (unsigned long long __X) ^ 029.c:9:7: error: called from here int res = _mm_popcnt_u64 (0);