https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95208
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2020-05-20 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- Looking at the dump files, we select a jump table: switch (c_2(D)) <default: <L88> [67.00%], case 33 ... 35: <L0> [33.00%], case 37 ... 39: <L0> [33.00%], case 42 ... 63: <L0> [33.00%], case 65 ... 91: <L0> [33.00%], case 93 ... 95: <L0> [33.00%], case 97 ... 126: <L0> [33.00%]> ;; GIMPLE switch case clusters: JT(values:88 comparisons:12 range:94 density: 12.77%):33-126 We prefer a smaller number of clusters (in this case) one because we don't have to build a decision tree on top of them. In this case one can't handle all in of bit test as the range of values is >= 64.