/* This file is autogenerated by scripts/decodetree.py.  */

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wredundant-decls"
#ifdef __clang__
#  pragma GCC diagnostic ignored "-Wtypedef-redefinition"
#endif

typedef arg_r arg_vt_maskc;
static bool trans_vt_maskc(DisasContext *ctx, arg_vt_maskc *a);
typedef arg_r arg_vt_maskcn;
static bool trans_vt_maskcn(DisasContext *ctx, arg_vt_maskcn *a);

#pragma GCC diagnostic pop

static void decode_XVentanaCodeOps_extract_r(DisasContext *ctx, arg_r *a, uint32_t insn)
{
    a->rd = extract32(insn, 7, 5);
    a->rs1 = extract32(insn, 15, 5);
    a->rs2 = extract32(insn, 20, 5);
}

static bool decode_XVentanaCodeOps(DisasContext *ctx, uint32_t insn)
{
    union {
        arg_r f_r;
    } u;

    decode_XVentanaCodeOps_extract_r(ctx, &u.f_r, insn);
    switch (insn & 0xfe00707fu) {
    case 0x0000607b:
        /* 0000000. ........ .110.... .1111011 */
        /* ../git/target/riscv/XVentanaCondOps.decode:24 */
        if (trans_vt_maskc(ctx, &u.f_r)) return true;
        break;
    case 0x0000707b:
        /* 0000000. ........ .111.... .1111011 */
        /* ../git/target/riscv/XVentanaCondOps.decode:25 */
        if (trans_vt_maskcn(ctx, &u.f_r)) return true;
        break;
    }
    return false;
}
