On 26/02/13 15:29, Joern Rennecke wrote:
Committed as obvious.


pr54640-fix


2013-02-26  Joern Rennecke  <joern.renne...@embecosm.com>

         PR target/54640
         * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
         for HOST_WIDE_INT of 32 bit / same size as int.
         (arm_block_move_unaligned_straight): Likewise.
         (arm_adjust_block_mem): Likewise.

Index: config/arm/arm.c
===================================================================
--- config/arm/arm.c    (revision 196254)
+++ config/arm/arm.c    (working copy)
@@ -2607,7 +2607,7 @@ const_ok_for_op (HOST_WIDE_INT i, enum r
  int
  const_ok_for_dimode_op (HOST_WIDE_INT i, enum rtx_code code)
  {
-  HOST_WIDE_INT hi_val = (i >> 32) & 0xFFFFFFFF;
+  HOST_WIDE_INT hi_val = (i >> 16 >> 16) & 0xFFFFFFFF;

I'm not convinced this is obvious.  It's certainly ugly.

I think the correct thing to do is to force all ARM targets to use a 64-bit HOST_WIDE_INT.

R.


Reply via email to