------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-25 
23:54 -------
A simpler exampler which shows the problem.
Compile with -O1 -fno-ivopts:
void 
fcpy(float *restrict a,  float *restrict b, 
     float *restrict aa, float *restrict bb, int n) 
{ 
        int i; 
        for(i = 0; i < n; i++) { 
                aa[i]=a[i]; 
                bb[i]=b[i]; 
        } 
} 

You will see that we pull the load to aa into the loop which is wrong.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|arguments being gimple      |[4.0 Regression] arguments
                   |registers cause redundant   |being gimple registers cause
                   |memory loads                |redundant memory loads
   Target Milestone|---                         |4.0.0


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

Reply via email to