Commit 8579095b81e985fdcdba923d7b3ad75ddf69cb87

Authored by aurel32
1 parent ecbb5ea1

target-alpha: remove helper_load_implver

There is no need to use an helper.  Directly load the value with tcg code.

Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7074 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha/helper.h
@@ -5,7 +5,6 @@ DEF_HELPER_0(tb_flush, void) @@ -5,7 +5,6 @@ DEF_HELPER_0(tb_flush, void)
5 DEF_HELPER_2(excp, void, int, int) 5 DEF_HELPER_2(excp, void, int, int)
6 DEF_HELPER_1(amask, i64, i64) 6 DEF_HELPER_1(amask, i64, i64)
7 DEF_HELPER_0(load_pcc, i64) 7 DEF_HELPER_0(load_pcc, i64)
8 -DEF_HELPER_0(load_implver, i64)  
9 DEF_HELPER_0(rc, i64) 8 DEF_HELPER_0(rc, i64)
10 DEF_HELPER_0(rs, i64) 9 DEF_HELPER_0(rs, i64)
11 10
target-alpha/op_helper.c
@@ -58,11 +58,6 @@ uint64_t helper_load_pcc (void) @@ -58,11 +58,6 @@ uint64_t helper_load_pcc (void)
58 return 0; 58 return 0;
59 } 59 }
60 60
61 -uint64_t helper_load_implver (void)  
62 -{  
63 - return env->implver;  
64 -}  
65 -  
66 uint64_t helper_load_fpcr (void) 61 uint64_t helper_load_fpcr (void)
67 { 62 {
68 uint64_t ret = 0; 63 uint64_t ret = 0;
target-alpha/translate.c
@@ -51,6 +51,7 @@ struct DisasContext { @@ -51,6 +51,7 @@ struct DisasContext {
51 #if !defined (CONFIG_USER_ONLY) 51 #if !defined (CONFIG_USER_ONLY)
52 int pal_mode; 52 int pal_mode;
53 #endif 53 #endif
  54 + CPUAlphaState *env;
54 uint32_t amask; 55 uint32_t amask;
55 }; 56 };
56 57
@@ -1175,7 +1176,7 @@ static always_inline int translate_one (DisasContext *ctx, uint32_t insn) @@ -1175,7 +1176,7 @@ static always_inline int translate_one (DisasContext *ctx, uint32_t insn)
1175 case 0x6C: 1176 case 0x6C:
1176 /* IMPLVER */ 1177 /* IMPLVER */
1177 if (rc != 31) 1178 if (rc != 31)
1178 - gen_helper_load_implver(cpu_ir[rc]); 1179 + tcg_gen_movi_i64(cpu_ir[rc], ctx->env->implver);
1179 break; 1180 break;
1180 default: 1181 default:
1181 goto invalid_opc; 1182 goto invalid_opc;
@@ -2352,6 +2353,7 @@ static always_inline void gen_intermediate_code_internal (CPUState *env, @@ -2352,6 +2353,7 @@ static always_inline void gen_intermediate_code_internal (CPUState *env,
2352 gen_opc_end = gen_opc_buf + OPC_MAX_SIZE; 2353 gen_opc_end = gen_opc_buf + OPC_MAX_SIZE;
2353 ctx.pc = pc_start; 2354 ctx.pc = pc_start;
2354 ctx.amask = env->amask; 2355 ctx.amask = env->amask;
  2356 + ctx.env = env;
2355 #if defined (CONFIG_USER_ONLY) 2357 #if defined (CONFIG_USER_ONLY)
2356 ctx.mem_idx = 0; 2358 ctx.mem_idx = 0;
2357 #else 2359 #else