Revision 1a1f7dbc

b/target-alpha/helper.h
3 3
DEF_HELPER_0(tb_flush, void)
4 4

  
5 5
DEF_HELPER_2(excp, void, int, int)
6
DEF_HELPER_1(amask, i64, i64)
7 6
DEF_HELPER_0(load_pcc, i64)
8 7
DEF_HELPER_0(rc, i64)
9 8
DEF_HELPER_0(rs, i64)
b/target-alpha/op_helper.c
37 37
    cpu_loop_exit();
38 38
}
39 39

  
40
uint64_t helper_amask (uint64_t arg)
41
{
42
    switch (env->implver) {
43
    case IMPLVER_2106x:
44
        /* EV4, EV45, LCA, LCA45 & EV5 */
45
        break;
46
    case IMPLVER_21164:
47
    case IMPLVER_21264:
48
    case IMPLVER_21364:
49
        arg &= ~env->amask;
50
        break;
51
    }
52
    return arg;
53
}
54

  
55 40
uint64_t helper_load_pcc (void)
56 41
{
57 42
    /* XXX: TODO */
b/target-alpha/translate.c
1160 1160
            /* AMASK */
1161 1161
            if (likely(rc != 31)) {
1162 1162
                if (islit)
1163
                    tcg_gen_movi_i64(cpu_ir[rc], helper_amask(lit));
1163
                    tcg_gen_movi_i64(cpu_ir[rc], lit);
1164 1164
                else
1165
                    gen_helper_amask(cpu_ir[rc], cpu_ir[rb]);
1165
                    tcg_gen_mov_i64(cpu_ir[rc], cpu_ir[rb]);
1166
                switch (ctx->env->implver) {
1167
                case IMPLVER_2106x:
1168
                    /* EV4, EV45, LCA, LCA45 & EV5 */
1169
                    break;
1170
                case IMPLVER_21164:
1171
                case IMPLVER_21264:
1172
                case IMPLVER_21364:
1173
                    tcg_gen_andi_i64(cpu_ir[rc], cpu_ir[rc],
1174
                                     ~(uint64_t)ctx->amask);
1175
                    break;
1176
                }
1166 1177
            }
1167 1178
            break;
1168 1179
        case 0x64:

Also available in: Unified diff