static int disas_cp14_write(CPUState * env, DisasContext *s, uint32_t insn)

{

    int crn = (insn >> 16) & 0xf;

    int crm = insn & 0xf;

    int op1 = (insn >> 21) & 7;

    int op2 = (insn >> 5) & 7;

    int rt = (insn >> 12) & 0xf;

    TCGv tmp;



    if (arm_feature(env, ARM_FEATURE_THUMB2EE)) {

        if (op1 == 6 && crn == 0 && crm == 0 && op2 == 0) {

            /* TEECR */

            if (IS_USER(s))

                return 1;

            tmp = load_reg(s, rt);

            gen_helper_set_teecr(cpu_env, tmp);

            dead_tmp(tmp);

            return 0;

        }

        if (op1 == 6 && crn == 1 && crm == 0 && op2 == 0) {

            /* TEEHBR */

            if (IS_USER(s) && (env->teecr & 1))

                return 1;

            tmp = load_reg(s, rt);

            store_cpu_field(tmp, teehbr);

            return 0;

        }

    }

    fprintf(stderr, "Unknown cp14 write op1:%d crn:%d crm:%d op2:%d\n",

            op1, crn, crm, op2);

    return 1;

}

static int disas_cp14_write(CPUState * env, DisasContext *s, uint32_t insn)

{

    int crn = (insn >> 16) & 0xf;

    int crm = insn & 0xf;

    int op1 = (insn >> 21) & 7;

    int op2 = (insn >> 5) & 7;

    int rt = (insn >> 12) & 0xf;

    TCGv tmp;



    if (arm_feature(env, ARM_FEATURE_THUMB2EE)) {

        if (op1 == 6 && crn == 0 && crm == 0 && op2 == 0) {

            

            if (IS_USER(s))

                return 1;

            tmp = load_reg(s, rt);

            gen_helper_set_teecr(cpu_env, tmp);

            dead_tmp(tmp);

            return 0;

        }

        if (op1 == 6 && crn == 1 && crm == 0 && op2 == 0) {

            

            if (IS_USER(s) && (env->teecr & 1))

                return 1;

            tmp = load_reg(s, rt);

            store_cpu_field(tmp, teehbr);

            return 0;

        }

    }

    fprintf(stderr, "Unknown cp14 write op1:%d crn:%d crm:%d op2:%d\n",

            op1, crn, crm, op2);

    return 1;

}

            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);             dead_tmp(tmp);             dead_tmp(tmp);             dead_tmp(tmp);             dead_tmp(tmp);             dead_tmp(tmp);
static int FUNC_0(CPUState * VAR_0, DisasContext *VAR_1, uint32_t VAR_2)

{

    int VAR_3 = (VAR_2 >> 16) & 0xf;

    int VAR_4 = VAR_2 & 0xf;

    int VAR_5 = (VAR_2 >> 21) & 7;

    int VAR_6 = (VAR_2 >> 5) & 7;

    int VAR_7 = (VAR_2 >> 12) & 0xf;

    TCGv tmp;



    if (arm_feature(VAR_0, ARM_FEATURE_THUMB2EE)) {

        if (VAR_5 == 6 && VAR_3 == 0 && VAR_4 == 0 && VAR_6 == 0) {

            

            if (IS_USER(VAR_1))

                return 1;

            tmp = load_reg(VAR_1, VAR_7);

            gen_helper_set_teecr(cpu_env, tmp);

            dead_tmp(tmp);

            return 0;

        }

        if (VAR_5 == 6 && VAR_3 == 1 && VAR_4 == 0 && VAR_6 == 0) {

            

            if (IS_USER(VAR_1) && (VAR_0->teecr & 1))

                return 1;

            tmp = load_reg(VAR_1, VAR_7);

            store_cpu_field(tmp, teehbr);

            return 0;

        }

    }

    fprintf(stderr, "Unknown cp14 write VAR_5:%d VAR_3:%d VAR_4:%d VAR_6:%d\n",

            VAR_5, VAR_3, VAR_4, VAR_6);

    return 1;

}

static int FUNC_0(CPUState * VAR_0, DisasContext *VAR_1, uint32_t VAR_2)
{ int VAR_3 = (VAR_2 >> 16) & 0xf; int VAR_4 = VAR_2 & 0xf; int VAR_5 = (VAR_2 >> 21) & 7; int VAR_6 = (VAR_2 >> 5) & 7; int VAR_7 = (VAR_2 >> 12) & 0xf; TCGv tmp; if (arm_feature(VAR_0, ARM_FEATURE_THUMB2EE)) { if (VAR_5 == 6 && VAR_3 == 0 && VAR_4 == 0 && VAR_6 == 0) { if (IS_USER(VAR_1))
return 1; tmp = load_reg(VAR_1, VAR_7); gen_helper_set_teecr(cpu_env, tmp); dead_tmp(tmp); return 0; } if (VAR_5 == 6 && VAR_3 == 1 && VAR_4 == 0 && VAR_6 == 0) { if (IS_USER(VAR_1) && (VAR_0->teecr & 1))
return 1; tmp = load_reg(VAR_1, VAR_7); store_cpu_field(tmp, teehbr); return 0; } } fprintf(stderr, "Unknown cp14 write VAR_5:%d VAR_3:%d VAR_4:%d VAR_6:%d\n",
VAR_5, VAR_3, VAR_4, VAR_6); return 1; }