You can probably eliminate the switch bounds check by making the default case execute __builtin_unreachable(). The switch version is safe for non-conforming opcodes where the computed goto version invokes UB.
Using __builtin_unreachable in this way makes the switch version unsafe, too.
Using __builtin_unreachable in this way makes the switch version unsafe, too.