static void tcg_out_dat_rIK(TCGContext *s, int cond, int opc, int opinv,

                            TCGReg dst, TCGReg lhs, TCGArg rhs,

                            bool rhs_is_const)

{

    /* Emit either the reg,imm or reg,reg form of a data-processing insn.

     * rhs must satisfy the "rIK" constraint.

     */

    if (rhs_is_const) {

        int rot = encode_imm(rhs);

        if (rot < 0) {

            rhs = ~rhs;

            rot = encode_imm(rhs);

            assert(rot >= 0);

            opc = opinv;

        }

        tcg_out_dat_imm(s, cond, opc, dst, lhs, rotl(rhs, rot) | (rot << 7));

    } else {

        tcg_out_dat_reg(s, cond, opc, dst, lhs, rhs, SHIFT_IMM_LSL(0));

    }

}

static void tcg_out_dat_rIK(TCGContext *s, int cond, int opc, int opinv,

                            TCGReg dst, TCGReg lhs, TCGArg rhs,

                            bool rhs_is_const)

{

    





    if (rhs_is_const) {

        int rot = encode_imm(rhs);

        if (rot < 0) {

            rhs = ~rhs;

            rot = encode_imm(rhs);

            assert(rot >= 0);

            opc = opinv;

        }

        tcg_out_dat_imm(s, cond, opc, dst, lhs, rotl(rhs, rot) | (rot << 7));

    } else {

        tcg_out_dat_reg(s, cond, opc, dst, lhs, rhs, SHIFT_IMM_LSL(0));

    }

}

static void FUNC_0(TCGContext *VAR_0, int VAR_1, int VAR_2, int VAR_3,

                            TCGReg VAR_4, TCGReg VAR_5, TCGArg VAR_6,

                            bool VAR_7)

{

    





    if (VAR_7) {

        int VAR_8 = encode_imm(VAR_6);

        if (VAR_8 < 0) {

            VAR_6 = ~VAR_6;

            VAR_8 = encode_imm(VAR_6);

            assert(VAR_8 >= 0);

            VAR_2 = VAR_3;

        }

        tcg_out_dat_imm(VAR_0, VAR_1, VAR_2, VAR_4, VAR_5, rotl(VAR_6, VAR_8) | (VAR_8 << 7));

    } else {

        tcg_out_dat_reg(VAR_0, VAR_1, VAR_2, VAR_4, VAR_5, VAR_6, SHIFT_IMM_LSL(0));

    }

}

static void FUNC_0(TCGContext *VAR_0, int VAR_1, int VAR_2, int VAR_3,
TCGReg VAR_4, TCGReg VAR_5, TCGArg VAR_6,
bool VAR_7)
{ if (VAR_7) { int VAR_8 = encode_imm(VAR_6); if (VAR_8 < 0) { VAR_6 = ~VAR_6; VAR_8 = encode_imm(VAR_6); assert(VAR_8 >= 0); VAR_2 = VAR_3; } tcg_out_dat_imm(VAR_0, VAR_1, VAR_2, VAR_4, VAR_5, rotl(VAR_6, VAR_8) | (VAR_8 << 7)); } else { tcg_out_dat_reg(VAR_0, VAR_1, VAR_2, VAR_4, VAR_5, VAR_6, SHIFT_IMM_LSL(0)); } }