target-sparc: Revert setting cpu_dst to gen_dest_gpr
authorRichard Henderson <rth@twiddle.net>
Mon, 29 Oct 2012 04:50:20 +0000 (15:50 +1100)
committerBlue Swirl <blauwirbel@gmail.com>
Tue, 30 Oct 2012 18:52:04 +0000 (18:52 +0000)
There is some read-after-write error within the OP=2 insns which
prevents setting cpu_dst to the real output register.  Until this
is found and fixed, always write to a temporary first.

Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-sparc/translate.c

index 432139368898cebace72e645a4e847fc8a4af14e..9e46f1424b01120e554ff2a800be73e130a749e6 100644 (file)
@@ -2633,7 +2633,7 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn)
     case 2:                     /* FPU & Logical Operations */
         {
             unsigned int xop = GET_FIELD(insn, 7, 12);
-            TCGv cpu_dst = gen_dest_gpr(dc, rd);
+            TCGv cpu_dst = get_temp_tl(dc);
             TCGv cpu_tmp0;
 
             if (xop == 0x3a) {  /* generate trap */