OSDN Git Service

tcg-ppc: Avoid code for nop move
authorRichard Henderson <rth@twiddle.net>
Wed, 28 Aug 2013 22:51:08 +0000 (15:51 -0700)
committerRichard Henderson <rth@twiddle.net>
Wed, 25 Sep 2013 14:46:31 +0000 (07:46 -0700)
While these are rare from code that's been through the optimizer,
it's not uncommon within the tcg backend.

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg/ppc/tcg-target.c

index 24a8621..965108b 100644 (file)
@@ -450,7 +450,9 @@ static const uint32_t tcg_to_bc[] = {
 
 static void tcg_out_mov(TCGContext *s, TCGType type, TCGReg ret, TCGReg arg)
 {
-    tcg_out32 (s, OR | SAB (arg, ret, arg));
+    if (ret != arg) {
+        tcg_out32(s, OR | SAB(arg, ret, arg));
+    }
 }
 
 static void tcg_out_movi(TCGContext *s, TCGType type,