static void tcg_out_insn_3401(TCGContext *s, AArch64Insn insn, TCGType ext,

                              TCGReg rd, TCGReg rn, uint64_t aimm)

{

    if (aimm > 0xfff) {

        assert((aimm & 0xfff) == 0);

        aimm >>= 12;

        assert(aimm <= 0xfff);

        aimm |= 1 << 12;  /* apply LSL 12 */

    }

    tcg_out32(s, insn | ext << 31 | aimm << 10 | rn << 5 | rd);

}

static void tcg_out_insn_3401(TCGContext *s, AArch64Insn insn, TCGType ext,

                              TCGReg rd, TCGReg rn, uint64_t aimm)

{

    if (aimm > 0xfff) {

        assert((aimm & 0xfff) == 0);

        aimm >>= 12;

        assert(aimm <= 0xfff);

        aimm |= 1 << 12;  

    }

    tcg_out32(s, insn | ext << 31 | aimm << 10 | rn << 5 | rd);

}

static void FUNC_0(TCGContext *VAR_0, AArch64Insn VAR_1, TCGType VAR_2,

                              TCGReg VAR_3, TCGReg VAR_4, uint64_t VAR_5)

{

    if (VAR_5 > 0xfff) {

        assert((VAR_5 & 0xfff) == 0);

        VAR_5 >>= 12;

        assert(VAR_5 <= 0xfff);

        VAR_5 |= 1 << 12;  

    }

    tcg_out32(VAR_0, VAR_1 | VAR_2 << 31 | VAR_5 << 10 | VAR_4 << 5 | VAR_3);

}

static void FUNC_0(TCGContext *VAR_0, AArch64Insn VAR_1, TCGType VAR_2,
TCGReg VAR_3, TCGReg VAR_4, uint64_t VAR_5)
{ if (VAR_5 > 0xfff) { assert((VAR_5 & 0xfff) == 0); VAR_5 >>= 12; assert(VAR_5 <= 0xfff); VAR_5 |= 1 << 12; } tcg_out32(VAR_0, VAR_1 | VAR_2 << 31 | VAR_5 << 10 | VAR_4 << 5 | VAR_3); }