static inline int gen_iwmmxt_shift(uint32_t insn, uint32_t mask, TCGv dest)

{

    int rd = (insn >> 0) & 0xf;

    TCGv tmp;



    if (insn & (1 << 8)) {

        if (rd < ARM_IWMMXT_wCGR0 || rd > ARM_IWMMXT_wCGR3) {

            return 1;

        } else {

            tmp = iwmmxt_load_creg(rd);

        }

    } else {

        tmp = new_tmp();

        iwmmxt_load_reg(cpu_V0, rd);

        tcg_gen_trunc_i64_i32(tmp, cpu_V0);

    }

    tcg_gen_andi_i32(tmp, tmp, mask);

    tcg_gen_mov_i32(dest, tmp);

    dead_tmp(tmp);

    return 0;

}

static inline int gen_iwmmxt_shift(uint32_t insn, uint32_t mask, TCGv dest)

{

    int rd = (insn >> 0) & 0xf;

    TCGv tmp;



    if (insn & (1 << 8)) {

        if (rd < ARM_IWMMXT_wCGR0 || rd > ARM_IWMMXT_wCGR3) {

            return 1;

        } else {

            tmp = iwmmxt_load_creg(rd);

        }

    } else {

        tmp = new_tmp();

        iwmmxt_load_reg(cpu_V0, rd);

        tcg_gen_trunc_i64_i32(tmp, cpu_V0);

    }

    tcg_gen_andi_i32(tmp, tmp, mask);

    tcg_gen_mov_i32(dest, tmp);

    dead_tmp(tmp);

    return 0;

}

    dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);         tmp = new_tmp();         tmp = new_tmp();     dead_tmp(tmp);         tmp = new_tmp();         tmp = new_tmp();         tmp = new_tmp();         tmp = new_tmp();         tmp = new_tmp();         tmp = new_tmp();         tmp = new_tmp();         tmp = new_tmp();     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);     dead_tmp(tmp);
static inline int FUNC_0(uint32_t VAR_0, uint32_t VAR_1, TCGv VAR_2)

{

    int VAR_3 = (VAR_0 >> 0) & 0xf;

    TCGv tmp;



    if (VAR_0 & (1 << 8)) {

        if (VAR_3 < ARM_IWMMXT_wCGR0 || VAR_3 > ARM_IWMMXT_wCGR3) {

            return 1;

        } else {

            tmp = iwmmxt_load_creg(VAR_3);

        }

    } else {

        tmp = new_tmp();

        iwmmxt_load_reg(cpu_V0, VAR_3);

        tcg_gen_trunc_i64_i32(tmp, cpu_V0);

    }

    tcg_gen_andi_i32(tmp, tmp, VAR_1);

    tcg_gen_mov_i32(VAR_2, tmp);

    dead_tmp(tmp);

    return 0;

}

static inline int FUNC_0(uint32_t VAR_0, uint32_t VAR_1, TCGv VAR_2)
{ int VAR_3 = (VAR_0 >> 0) & 0xf; TCGv tmp; if (VAR_0 & (1 << 8)) { if (VAR_3 < ARM_IWMMXT_wCGR0 || VAR_3 > ARM_IWMMXT_wCGR3) { return 1; } else { tmp = iwmmxt_load_creg(VAR_3); } } else { tmp = new_tmp(); iwmmxt_load_reg(cpu_V0, VAR_3); tcg_gen_trunc_i64_i32(tmp, cpu_V0); } tcg_gen_andi_i32(tmp, tmp, VAR_1); tcg_gen_mov_i32(VAR_2, tmp); dead_tmp(tmp); return 0; }