I'm not sure if this is a Rust issue, an LLVM one or an 'I don't know how CPUs work' issue. I'm on rustc 1.13.0-nightly (923bac459 2016-09-06) and if I run rustc --print cfg I get the following target_features:
target_feature="sse"
target_feature="sse2"
I believe this is incorrectly missing sse3, sse4.1 and sse4.2 (the feature I actually care about). If I dump cpuinfo I get something like:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
...
flags : ... sse sse2 ... ssse3 ... sse4_1 sse4_2 ...
...
Is this not meant to be supported in Rust yet, is there something I need to configure or am I misunderstanding something?
In that link I cannot see target-feature = "+ssse3" or target-cpu = "native" variables, where should they go? into the [build] section? How can I know if they are being used?