Commit 5a33f47d by Eric Botcazou Committed by Eric Botcazou

* tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.

From-SVN: r220419
parent 0b986c6a
2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
* tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
2015-02-04 Jan Hubicka <hubicka@ucw.cz> 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
PR middle-end/64922 PR middle-end/64922
......
...@@ -3324,12 +3324,12 @@ get_address_cost (bool symbol_present, bool var_present, ...@@ -3324,12 +3324,12 @@ get_address_cost (bool symbol_present, bool var_present,
XEXP (addr, 1) = gen_int_mode (off, address_mode); XEXP (addr, 1) = gen_int_mode (off, address_mode);
if (memory_address_addr_space_p (mem_mode, addr, as)) if (memory_address_addr_space_p (mem_mode, addr, as))
break; break;
/* For some TARGET, like ARM THUMB1, the offset should be nature /* For some strict-alignment targets, the offset must be naturally
aligned. Try an aligned offset if address_mode is not QImode. */ aligned. Try an aligned offset if mem_mode is not QImode. */
off = (address_mode == QImode) off = mem_mode != QImode
? 0 ? ((unsigned HOST_WIDE_INT) 1 << i)
: ((unsigned HOST_WIDE_INT) 1 << i) - GET_MODE_SIZE (mem_mode)
- GET_MODE_SIZE (address_mode); : 0;
if (off > 0) if (off > 0)
{ {
XEXP (addr, 1) = gen_int_mode (off, address_mode); XEXP (addr, 1) = gen_int_mode (off, address_mode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment