diff options
Diffstat (limited to 'compiler/utils/arm/assembler_thumb2.cc')
-rw-r--r-- | compiler/utils/arm/assembler_thumb2.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/utils/arm/assembler_thumb2.cc b/compiler/utils/arm/assembler_thumb2.cc index f9e1ac672e..2dde0149a6 100644 --- a/compiler/utils/arm/assembler_thumb2.cc +++ b/compiler/utils/arm/assembler_thumb2.cc @@ -3341,7 +3341,7 @@ void Thumb2Assembler::dmb(DmbOptions flavor) { void Thumb2Assembler::CompareAndBranchIfZero(Register r, Label* label) { - if (CanRelocateBranches() && IsLowRegister(r)) { + if (CanRelocateBranches() && IsLowRegister(r) && !label->IsBound()) { cbz(r, label); } else { cmp(r, ShifterOperand(0)); @@ -3351,7 +3351,7 @@ void Thumb2Assembler::CompareAndBranchIfZero(Register r, Label* label) { void Thumb2Assembler::CompareAndBranchIfNonZero(Register r, Label* label) { - if (CanRelocateBranches() && IsLowRegister(r)) { + if (CanRelocateBranches() && IsLowRegister(r) && !label->IsBound()) { cbnz(r, label); } else { cmp(r, ShifterOperand(0)); |