switch back to inline assembly in compression::instructions
Summary: D3278901 never worked, GCC (at least 4.9) failed to propagate `FOLLY_TARGET_ATTRIBUTE("arch=haswell")` down, `blsr` and `select64` weren't inlined in EF coding on Haswell, showing up in CPU profile. This diff switches back to inline assembly, removing second dispatching mechanism (IFUNC; in additional to caller-side `Default` / `Nehalem` / `Haswell` dispatching) for `compression::instructions`, and disables functionality on compilers not supporting AT&T syntax (MSVC++) for now. Added `FOLLY_ALWAYS_INLINE` to make sure failure to inline results in compilation failure. Reviewed By: ot Differential Revision: D3959438 fbshipit-source-id: e40573fbfbf38991caa2cd70293aeaeeec3afad7
Showing
Please register or sign in to comment