Generate ADD and not ADDS for Add(DontCare, r1, r1, r2).

Change-Id: Iabb680bcd7b4027602ca48c34691d61d75b1e0af
diff --git a/src/aarch32/macro-assembler-aarch32.h b/src/aarch32/macro-assembler-aarch32.h
index 13dcd10..793577b 100644
--- a/src/aarch32/macro-assembler-aarch32.h
+++ b/src/aarch32/macro-assembler-aarch32.h
@@ -1174,7 +1174,7 @@
         bool setflags_is_smaller =
             IsUsingT32() && cond.Is(al) &&
             ((operand.IsPlainRegister() && rd.IsLow() && rn.IsLow() &&
-              operand.GetBaseRegister().IsLow()) ||
+              !rd.Is(rn) && operand.GetBaseRegister().IsLow()) ||
              (operand.IsImmediate() &&
               ((rd.IsLow() && rn.IsLow() && (operand.GetImmediate() < 8)) ||
                (rd.IsLow() && rn.Is(rd) && (operand.GetImmediate() < 256)))));
@@ -1217,7 +1217,6 @@
     Adds(al, rd, rn, operand);
   }
 
-
   void Adr(Condition cond, Register rd, Label* label) {
     VIXL_ASSERT(!AliasesAvailableScratchRegister(rd));
     VIXL_ASSERT(allow_macro_instructions_);
@@ -2635,7 +2634,6 @@
   }
   void Movt(Register rd, const Operand& operand) { Movt(al, rd, operand); }
 
-
   void Mrs(Condition cond, Register rd, SpecialRegister spec_reg) {
     VIXL_ASSERT(!AliasesAvailableScratchRegister(rd));
     VIXL_ASSERT(allow_macro_instructions_);
@@ -4746,7 +4744,6 @@
     Subs(al, rd, rn, operand);
   }
 
-
   void Svc(Condition cond, uint32_t imm) {
     VIXL_ASSERT(allow_macro_instructions_);
     VIXL_ASSERT(OutsideITBlock());
@@ -4834,7 +4831,6 @@
   }
   void Sxth(Register rd, const Operand& operand) { Sxth(al, rd, operand); }
 
-
   void Teq(Condition cond, Register rn, const Operand& operand) {
     VIXL_ASSERT(!AliasesAvailableScratchRegister(rn));
     VIXL_ASSERT(!AliasesAvailableScratchRegister(operand));