/* generated by gpc_gen.rb */
#define INT_STREAM(arg) (inst[1+(arg)])
uint32_t gpc_instruction_size(gpc_cell_t *inst) {
    switch (*inst) {
        case GPC_I_TABLESET_LOCAL_TO_FIELD: return 1+2+INT_STREAM(1);
        case GPC_I_TABLESET_FIELD_TO_FIELD: return 1+3+INT_STREAM(2);
        case GPC_I_TABLEJUMP_FIELD: return 1+2+INT_STREAM(1);
        case GPC_I_TABLEJUMP_LOCAL: return 1+1+INT_STREAM(0);
        default: break;
    }
    return gpc_instruction_static_size(*inst);
}
#undef INT_STREAM
