https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83758
--- Comment #11 from acsawdey at gcc dot gnu.org ---
It appears that -O1 -fexpensive-optimizations is the minimal optimization to
trigger this fail. And of what -fexpensive-optimizations turns on, this piece
in ira-costs.s (find_costs_and_classes) appears to cause the fail:
/* Normally we scan the insns once and determine the best class to
use for each allocno. However, if -fexpensive-optimizations are
on, we do so twice, the second time using the tentative best
classes to guide the selection. */
for (pass = start; pass <= flag_expensive_optimizations; pass++)
{
If I replace flag_expensive_optimizations with false here, then -O1
-fexpensive-optimizations does not fail the compile command I posted earlier.
However -O2 does still fail.