Updated solution is future proof for arbitary size integer handling for both strategies .br_table lowering if switch case is dense, .br_if base jump table if values are too sparse.
std.Target.current
@import("builtin").target
@cImport
test/cbe.zig
CallingConvention