https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108552
--- Comment #12 from Linus Torvalds <[email protected]> --- So it might be worth pointing explicitly to Vlastimil's email at https://lore.kernel.org/all/[email protected]/ which has annotated objdump output and seems to point to the actual bug (or at least part of it), which seems to show how the page counting (in register %ebx) is corrupted by the coverage counts (Vlastimil calls the coverage counts "crap" - it's real data, but from an algorithmic standpoint it obviously has no bearing on the output). That would mesh with "on 32-bit x86, the 64-bit coverage counts require a lot more effort, and we have few registers, and something gets confused and uses register %rax for two things". The bug apparently only happens with -O2, and I think has only been reported with gcc-11, which is what the intel test robots happened to use
