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));