From 57f96f27fefa22a1add33de908fe8ae2b105078c Mon Sep 17 00:00:00 2001 From: erich Date: Thu, 12 Dec 1996 10:53:05 +0000 Subject: [PATCH] (arm_gen_constant, case IOR,XOR): Don't invert a constant if loading it into a temporary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13290 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/arm/arm.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 97ad6ed800d..fb4705cf405 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -701,8 +701,8 @@ arm_gen_constant (code, mode, val, target, source, subtargets, generate) case IOR: case XOR: - /* If we have IOR or XOR, and the inverse of the constant can be loaded - in a single instruction, and we can find a temporary to put it in, + /* If we have IOR or XOR, and the constant can be loaded in a + single instruction, and we can find a temporary to put it in, then this can be done in two instructions instead of 3-4. */ if (subtargets || (reload_completed && ! reg_mentioned_p (target, source))) @@ -713,8 +713,7 @@ arm_gen_constant (code, mode, val, target, source, subtargets, generate) { rtx sub = subtargets ? gen_reg_rtx (mode) : target; - emit_insn (gen_rtx (SET, VOIDmode, sub, - GEN_INT (ARM_SIGN_EXTEND (~ val)))); + emit_insn (gen_rtx (SET, VOIDmode, sub, GEN_INT (val))); emit_insn (gen_rtx (SET, VOIDmode, target, gen_rtx (code, mode, source, sub))); } -- 2.11.4.GIT