arm.c (arm_gen_constant): Remove redundant can_invert.
authorAndrew Stubbs <ams@codesourcery.com>
Wed, 20 Apr 2011 16:14:02 +0000 (16:14 +0000)
committerAndrew Stubbs <ams@gcc.gnu.org>
Wed, 20 Apr 2011 16:14:02 +0000 (16:14 +0000)
2011-04-20  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.

From-SVN: r172775

gcc/ChangeLog
gcc/config/arm/arm.c

index cf5ae0a..d64225c 100644 (file)
@@ -1,3 +1,7 @@
+2011-04-20  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
+
 2011-04-20  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/47892
index 5f964d6..83bb65b 100644 (file)
@@ -2591,9 +2591,6 @@ arm_gen_constant (enum rtx_code code, enum machine_mode mode, rtx cond,
                                gen_rtx_SET (VOIDmode, target, source));
          return 1;
        }
-
-      if (TARGET_THUMB2)
-       can_invert = 1;
       break;
 
     case AND:
@@ -3084,8 +3081,7 @@ arm_gen_constant (enum rtx_code code, enum machine_mode mode, rtx cond,
     if (remainder & (1 << i))
       num_bits_set++;
 
-  if ((code == AND)
-      || (code != IOR && can_invert && num_bits_set > 16))
+  if ((code == AND) || (can_invert && num_bits_set > 16))
     remainder ^= 0xffffffff;
   else if (code == PLUS && num_bits_set > 16)
     remainder = (-remainder) & 0xffffffff;