On 08/07/11 15:58, Paulo J. Matos wrote:
However, you hinted to using combine. I am wondering if I can combine
and into a memory-memory move in HImode and straight away split into the
4 insn above. In the end 4.6.1 would end up doing the same at combine
time as 4.5.3 in expand time. I have to loo
On 08/07/11 15:35, Michael Matz wrote:
Without TERing these two instructions expand won't see both memory
references at the same time, and hence generate separate load and store
instruction, instead of a mem-mem move if that's supported on your target
(I assume so, otherwise you wouldn't have not
Hi,
On Fri, 8 Jul 2011, Paulo J. Matos wrote:
> gcc4.5.3 hits continue the first time it gets there and gcc4.6.1 fails
> the inner if and enters expand_gimple_stmt twice.
Yes, the MEMREF branch merge disabled TER (temporary expression
replacement, tree-ssa-ter.c) for loads with stores that pos
Hi,
I got a few size regressions when moving from 4.5.3 to 4.6.1, all due to
the same issue.
I have code that is basically a double word memory move:
void simple1(uint32 *a, uint32 *b) { *a = *b; }
GCC 4.6.1 is from this gimple:
simple1 (uint32 * a, uint32 * b)
{
uint32 D.1927;
# BLOCK 2