https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118353

--- Comment #4 from Filip Kastl <pheeck at gcc dot gnu.org> ---
Huh.  Then either

a) We spend a lot of time in the jump table finding algorithm.  That would mean
that there are large switch statements in GCC code specific for those
architectures.  Btw, those switch statements would have to have the property
that there are few bit test lowering opportunities (otherwise bit tests would
basically split the switch into smaller chunks that jump table finding wouldn't
have problem with).  Or maybe bit test lowering is disabled entirely on those
architectures?
b) Jump table finding is too eager.  Lowering parts of a switch statement as
jump tables can lead to slower code on these architectures and in GCC this
happens frequently enough to slow the compiler down significantly.

Those are the two explanations that come to my mind.

Reply via email to