popcount is implemented in terms of for loop. On x86, it can be specialized to _mm_movemask_* + __builtin_popcountll() in the future.
Details
Details
Diff Detail
Diff Detail
- Build Status
Buildable 13534 Build 13534: arc lint + arc unit
Paths
| Differential D41756
[libcxx] implement <experimental/simd> simd_mask<> casts and some horizontal operations. Needs ReviewPublic Authored by timshen on Jan 4 2018, 6:22 PM.
Details
Summary popcount is implemented in terms of for loop. On x86, it can be specialized to _mm_movemask_* + __builtin_popcountll() in the future.
Diff Detail
Event Timelinetimshen added a parent revision: D41747: [libcxx] implement <experimental/simd> simd_mask<> and operators..Jan 4 2018, 6:23 PM timshen added a child revision: D41843: [libcxx] implement <experimental/simd> where expressions..Jan 8 2018, 4:47 PM
Revision Contents
Diff 128706 libcxx/include/experimental/simd
libcxx/test/std/experimental/simd/simd.horizontal/concat.pass.cpp
libcxx/test/std/experimental/simd/simd.horizontal/mask.pass.cpp
libcxx/test/std/experimental/simd/simd.horizontal/split.pass.cpp
libcxx/test/std/experimental/simd/simd.casts/to_compatible.pass.cpp
libcxx/test/std/experimental/simd/simd.casts/to_fixed_size.pass.cpp
libcxx/test/std/experimental/simd/simd.casts/to_native.pass.cpp
|