Handle non-Intel platforms in Range and CpuId
Summary: Compile out the SSE versions of these functions in Range, based on a new entry in folly-config.h. The change to CpuId feels slightly iffy to me. It seems like it would be more rigorous to make compiling CpuId.h on non-Intel an error, and force clients to handle non-Intel platforms at the callsite. However, I think that would be too susceptible to unintentional breakage on non-Intel platforms, since most people (including automated systems) aren't building and testing regularly on any. Falling back to saying "none of these features exist on this processor" seems like a reasonable alternative. Test Plan: fbmake runtests, with FOLLY_HAVE_EMMINTRIN_H set to 0 and 1. Make sure the SSE functions are getting compiled in or out as appropriate. ##autoreconf## and ##./configure## to regenerate folly-config.h. Reviewed By: delong.j@fb.com FB internal diff: D746872
Showing
Please register or sign in to comment