From ac6ac10a0801fa6eb95e0ab0c72b2ed562210b34 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Thu, 17 Dec 2015 12:14:00 +0000 Subject: Optimizing/ARM: Fix CmpConstant(). CMN updates flags based on addition of its operands. Do not confuse the "N" suffix with bitwise inversion performed by MVN. Also add more special cases analogous to AddConstant() and use CmpConstant() more in code generator. Change-Id: I0d4571770a3f0fdf162e97d4bde56814098e7246 --- compiler/utils/arm/assembler_arm.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'compiler/utils/arm/assembler_arm.h') diff --git a/compiler/utils/arm/assembler_arm.h b/compiler/utils/arm/assembler_arm.h index b79c2f0f4e..f96376d9fe 100644 --- a/compiler/utils/arm/assembler_arm.h +++ b/compiler/utils/arm/assembler_arm.h @@ -501,6 +501,8 @@ class ArmAssembler : public Assembler { virtual void cmp(Register rn, const ShifterOperand& so, Condition cond = AL) = 0; + // Note: CMN updates flags based on addition of its operands. Do not confuse + // the "N" suffix with bitwise inversion performed by MVN. virtual void cmn(Register rn, const ShifterOperand& so, Condition cond = AL) = 0; virtual void orr(Register rd, Register rn, const ShifterOperand& so, -- cgit v1.2.3-59-g8ed1b