2 ms·
TLDR: Headline (and indeed bulk of article) is phantom symptom. True cause is register allocator behavior. Specifically, allocator's handling of an instruction
by tofof 12y ago
TLDR: Headline (and indeed bulk of article) is phantom symptom. True cause is register allocator behavior.
Specifically, allocator's handling of an instruction with a false dependency on register that's written to, coupled with multiple compilers being unaware of the false dependency.
- PythonicAlpha 12y agoMaybe one should add, that (as much I understood) it is a problem of the processor handling one specific (and rare) instruction. It does assume register dependencies that do not exist. It was shown, that AMD does not have this behavior. And it shows, that today's processors are enormous complex beasts. The problem with the compilers was, that they where not aware of this behavior and thus generated sub-optimal code for this situation ... but compiler builders are also mere humans.
- shmerl 12y agoDid they file a bug for gcc and clang?