slavapestov/factor — pull request #397 by jckarter (2011-11-13 08:16:12+00:00)
Title: Intrinsics to enable vectorized "vcount" instruction

* Expose the code in the x86 backend for the MOVMSK instruction family as a simd intrinsic. Since MOVMSK's behavior is pretty quirky and x86-specific I didn't feel right giving it a user-facing word of its own.
* Use the intrinsic for MOVMSK with the existing `bit-count` intrinsic for POPCNT to provide a `vcount` method for `simd-128` types that quickly counts the number of elements matching a `v=` etc. comparison.
* -funroll-loops the non-intrinsic version of `bit-count`.
* Tweak some propagation stuff in the compiler to get better codegen for some simd intrinsics.