https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104484
--- Comment #4 from Avi Kivity <avi at scylladb dot com> --- gcc could infer that the check for f2 and the call to very_heavy are cold, and move that little block to a .cold section, whether or not very_heavy is cold.