tcg/optimize: Optmize ANDC X,Y,Y to MOV X,0
authorRichard Henderson <rth@twiddle.net>
Tue, 28 Jan 2014 21:26:17 +0000 (13:26 -0800)
committerRichard Henderson <rth@twiddle.net>
Mon, 17 Feb 2014 16:12:29 +0000 (10:12 -0600)
Like we already do for SUB and XOR.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg/optimize.c

index 0b1dd13..c1b9284 100644 (file)
@@ -947,6 +947,7 @@ static TCGArg *tcg_constant_folding(TCGContext *s, uint16_t *tcg_opc_ptr,
 
         /* Simplify expression for "op r, a, a => movi r, 0" cases */
         switch (op) {
+        CASE_OP_32_64(andc):
         CASE_OP_32_64(sub):
         CASE_OP_32_64(xor):
             if (temps_are_copies(args[1], args[2])) {