------- Comment #11 from hjl dot tools at gmail dot com  2009-02-25 19:18 
-------
(In reply to comment #10)
> The difference between
> 
> >   D.1254 = &a[0] + ((long unsigned int) ((unsigned int) len + 4294967295) + 
> > 1)
> > * 2;
> 
> (original) and
> 
> >   D.1255 = ((long unsigned int) &a + 2) + (long unsigned int) ((unsigned 
> > int)
> >            len + 4294967295) * 2;
> 
> (current) is mostly cosmetical; the test in the testcase should be made more
> robust, but other than that, there is no regression here.
> 

The new loop is

.L3:
        st2 [r14] = r33, 2
        ;;
        cmp.ne p6, p7 = r15, r14
        (p6) br.cond.sptk .L3

The old loop is

       mov ar.lc = r15
.L3:
        st2 [r14] = r33, 2
        ;;
        br.cloop.sptk.few .L3

They are quite different.


-- 


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

Reply via email to