target-alpha: Convert gen_store_conditional to source/sink
authorRichard Henderson <rth@twiddle.net>
Fri, 21 Mar 2014 19:46:59 +0000 (12:46 -0700)
committerRichard Henderson <rth@twiddle.net>
Thu, 17 Apr 2014 18:47:41 +0000 (11:47 -0700)
Signed-off-by: Richard Henderson <rth@twiddle.net>
target-alpha/translate.c

index a72f10f..289a703 100644 (file)
@@ -376,11 +376,7 @@ static ExitStatus gen_store_conditional(DisasContext *ctx, int ra, int rb,
     addr = tcg_temp_local_new();
 #endif
 
-    if (rb != 31) {
-        tcg_gen_addi_i64(addr, cpu_ir[rb], disp16);
-    } else {
-        tcg_gen_movi_i64(addr, disp16);
-    }
+    tcg_gen_addi_i64(addr, load_gpr(ctx, rb), disp16);
 
 #if defined(CONFIG_USER_ONLY)
     /* ??? This is handled via a complicated version of compare-and-swap