public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* loop unroll question
@ 2004-04-01 14:53 Revital Eres
  0 siblings, 0 replies; 2+ messages in thread
From: Revital Eres @ 2004-04-01 14:53 UTC (permalink / raw)
  To: rakdver, gcc

Hello,

For mainline on power-pc 4 with the option -O3 -funroll-loops, 
the following loop is not unrolled, but in GCC 3.4 it is. 
Also for mainline the bct is not inserted, but again in GCC 3.4 
it is.

void
example_new(int a[],int b[],int c[], int j) 
{
    int i;

    for(i=0 ; i<=j ; i++) 
       {
          c[i]=a[i]+b[i];
       }
    return;
}

If the condition is changed to < (instead of <=) the unrolling is 
done as expected and bct is inserted.

Thanks,
Revital

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: loop unroll question
       [not found] <OF3FEBFE03.6A98C185-ONC2256E69.004E2096-C2256E69.004F31D6@il.ibm.com>
@ 2004-04-02  9:06 ` Zdenek Dvorak
  0 siblings, 0 replies; 2+ messages in thread
From: Zdenek Dvorak @ 2004-04-02  9:06 UTC (permalink / raw)
  To: Revital Eres; +Cc: gcc

Hello,

> For mainline on power-pc 4 with the option -O3 -funroll-loops, 
> the following loop is not unrolled, but in GCC 3.4 it is. 
> Also for mainline the bct is not inserted, but again in GCC 3.4 
> it is.
> 
> void
> example_new(int a[],int b[],int c[], int j) 
> {
>     int i;
> 
>     for(i=0 ; i<=j ; i++) 
>        {
>           c[i]=a[i]+b[i];
>        }
>     return;
> }

as for inserting bct -- it was wrong to do this, since the loop could
be the infinite one (not really, since we work in a signed arithmetics
for that the overflow has an undefined behavior, but we cannot
verify this on rtl level).

As for unrolling, we are too conservative here; I will send a patch
for this soon.

Zdenek

> If the condition is changed to < (instead of <=) the unrolling is 
> done as expected and bct is inserted.
> 
> Thanks,
> Revital

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-04-02  9:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-01 14:53 loop unroll question Revital Eres
     [not found] <OF3FEBFE03.6A98C185-ONC2256E69.004E2096-C2256E69.004F31D6@il.ibm.com>
2004-04-02  9:06 ` Zdenek Dvorak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).