https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83069
--- Comment #12 from Siddhesh Poyarekar <siddhesh at gotplt dot org> --- (In reply to rdapp from comment #11) > 416.gamess fails on S390 as well since r254888. > > I didn't immediately get what the > > if (freq_max < 16) > freq_max = 16; > > part of the patch is supposed to achieve. When freq_max < 16, tmp will later > be larger than BLOCK_INFO (bb)->frequency which wasn't the case before. In > the worst case we approach max_count by 4 bits every time. > Why do we need a minimum freq_max? To ensure some scaling even for low > frequencies? I suppose the minimum frequency is to prevent loss of precision in the lower frequencies (they may get rounded off to 0 in the profile counts since they're integers) when the max_freq is greater than max_real_bb_freq. It is consistent with earlier behaviour and the higher max_real_bb_freq should give us a net win anyway.