https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107827
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Component|c |target Target| |x86_64-*-* Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2022-11-22 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- x86_64 target does not dojump table compression at all. But aarch64 and arm targets do: .L4: .2byte (.L103 - .Lrtx4) / 4 .2byte (.L102 - .Lrtx4) / 4 .2byte (.L101 - .Lrtx4) / 4 .2byte (.L100 - .Lrtx4) / 4 .2byte (.L99 - .Lrtx4) / 4 .2byte (.L98 - .Lrtx4) / 4 .2byte (.L97 - .Lrtx4) / 4 .2byte (.L96 - .Lrtx4) / 4 .2byte (.L95 - .Lrtx4) / 4 Confirmed. Note the /4 can't be done for x86 but the rest I think can be done. The /4 can't be done because some instructions one byte in length on x86_64.