https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112717
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I thought this was documented but I don't see. There is no guarantee for forward or backwards compatibility at all. In fact iirc there is a version stored in the files to make sure the correct version is used with the version of tools/compiler. Plus not only different versions of the compiler changes profile data but also different preprocessed sources could change the profile data (that even means compiler options which change macros, e.g. -D* and even some -f/-m options define some macros that could change the sources being processed).