internal.h (rb_popcount32): defined for ntz_int32. it can use __builtin_popcount but this function is not used on GCC environment because it uses __builtin_ctz. When another function uses this, using __builtin_popcount should be re-considered.
internal.h (rb_popcount64): ditto.
internal.h (ntz_int32): defined for ntz_intptr.
internal.h (ntz_int64): defined for ntz_intptr.
internal.h (ntz_intptr): defined as ntz for uintptr_t.
string.c (search_nonascii): unroll and use ntz
configure.in (__builtin_ctz): check.
configure.in (__builtin_ctzll): check.
internal.h (rb_popcount32): defined for ntz_int32.
it can use __builtin_popcount but this function is not used on
GCC environment because it uses __builtin_ctz.
When another function uses this, using __builtin_popcount
should be re-considered.
internal.h (rb_popcount64): ditto.
internal.h (ntz_int32): defined for ntz_intptr.
internal.h (ntz_int64): defined for ntz_intptr.
internal.h (ntz_intptr): defined as ntz for uintptr_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e