3 ms·
> take advantage of every trick they can for specific CPUs Not to the extent clang and gcc do, no. V8 does, e.g. use AVX instructions and some others if they a
by titzer 4y ago
> take advantage of every trick they can for specific CPUs
Not to the extent clang and gcc do, no. V8 does, e.g. use AVX instructions and some others if they are indicated to be available by CPUID. TurboFan does global scheduling in moving out of the sea of nodes, but that is not machine-specific. There was an experimental local instruction scheduler for TurboFan but it never really helped big cores, while measurements showed it would have helped smaller cores. It didn't actually calculate latencies; it just used a greedy heuristic. I am not sure if it was ever turned on. TurboFan doesn't do software pipelining or unroll/jam, though it does loop peeling, which isn't CPU-specific.