@raph That's some pretty amazing bug hunting.
It's been ~15 years since I caught a miscompilation in CPU code. We were using the Quake II engine to simulate gamma radiation (long story), and Carmack's code stored the address of a stack var in a global during a deep recursive call tree.
MSVC did a tail-call jump, destroying the stack frame. Even though the pointer had escaped.
(Or maybe doing that with a pointer is undefined behavior. Honestly, I never remember with C.)