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.