------- Comment #18 from rguenth at gcc dot gnu dot org  2007-07-20 16:35 
-------
I mean

<cite>
Current gcc finally produces:

  *p = (a + 1) * 4;
  *(p + 4) = (a + 2) * 4;
  *(p + 8) = (a + 3) * 4;

        movl    8(%esp), %eax
        movl    4(%esp), %ecx
        leal    4(,%eax,4), %edx
        movl    %edx, (%ecx)
        leal    8(,%eax,4), %edx
        leal    12(,%eax,4), %eax
        movl    %edx, 4(%ecx)
        movl    %eax, 8(%ecx)
        ret

This has now the largest code size of all versions.

This new canonical form IMHO clearly conflicts with what is expected at RTL
level, so I don't understand why it's so important to use this one. Could you
maybe explain the reason behind this choice?
</cite>

which suggests that current trunk is worse with the patch.  Or am I confused
and you are happy with the code generated by current trunk for the original
testcase?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32698

Reply via email to