BMI1 support in EliasFanoCoding
authorPhilip Pronin <philipp@fb.com>
Tue, 4 Nov 2014 18:21:34 +0000 (10:21 -0800)
committerPavlo Kushnir <pavlo@fb.com>
Sat, 8 Nov 2014 02:39:33 +0000 (18:39 -0800)
commit3c1306e1e2892142a121d715db0ef8090c69a289
tree3e2c86b670749a029788f46a37e6e5e1d803cecd
parentc4035d0669465fa9e7ecb20f71633f71903fdeb7
BMI1 support in EliasFanoCoding

Summary:
This diff updates `folly::CpuId` with support of extended features (EAX =
7, ECX = 0) to provide detection logic for BMI1 introduced in Haswell, and
provides support for `BLSR` instruction in `EliasFanoReader`.

Test Plan:
I used clang to compile the logic and run unittests

Reviewed By: lucian@fb.com

Subscribers: fbcode-common-diffs@, trunkagent, chaoyc, search-fbcode-diffs@, unicorn-diffs@, njormrod, folly-diffs@

FB internal diff: D1658100

Signature: t1:1658100:1415126635:d1820b8eb41c9e9786b5c8062b801cf1e2049a97
folly/CpuId.h
folly/experimental/EliasFanoCoding.h
folly/experimental/test/EliasFanoCodingTest.cpp