This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/36228] New: redundant runtime check while vectorizing


/* { dg-do compile } */
/* { dg-options "-O3 -c" } */

#define COLS         8
#define ROWS         8

int
t_run_test(void);

int
t_run_test()
{
     int k_1,i_1, j_1;
     static signed char f_1[ROWS][COLS] ;
     static long F_1[ROWS][COLS] ;
     long cosMatrixA[ROWS][COLS] ;

     for( k_1 = 0 ; k_1 < COLS ; k_1++ )
        {
            for( i_1 = 0 ; i_1 < ROWS ; i_1++ )
            {
                for( j_1 = 0 ; j_1 < COLS ; j_1++ )
                    F_1[i_1][j_1] += f_1[i_1][k_1] * cosMatrixA[k_1][j_1] ;
            }
        }

  return 0;
}

A redundant check for aliasing is created.
Looking at the vectorizer's dump, we see:
versioning for alias required: can't determine dependence between
F_1[i_1_41][j_1_42] and F_1[i_1_41][j_1_42]

Tested on Power6.


-- 
           Summary: redundant runtime check while vectorizing
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: razya at il dot ibm dot com


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]