1  /* { dg-require-effective-target vect_float } */
       2  
       3  #include <stdlib.h>
       4  #include "../../tree-vect.h"
       5  
       6  __attribute__ ((noinline)) void
       7  interp_pitch(float *exc, float *interp, int pitch, int len)
       8  {
       9     int i,k;
      10     int maxj;
      11  
      12     maxj=3;
      13     for (i=0;i<len;i++)
      14     {
      15        float tmp = 0;
      16        /* PR92127, disable unroll to avoid unexpected profit calculation.  */
      17        #pragma GCC unroll 0
      18        for (k=0;k<7;k++)
      19        {
      20           tmp += exc[i-pitch+k+maxj-6];
      21        }
      22        interp[i] = tmp;
      23     }
      24  }
      25  
      26  int main()
      27  {
      28     float *exc = calloc(126,sizeof(float));
      29     float *interp = calloc(80,sizeof(float));
      30     int pitch = -35;
      31  
      32     check_vect ();
      33  
      34     interp_pitch(exc, interp, pitch, 80);
      35     free(exc);
      36     free(interp);
      37     return 0;
      38  }
      39  
      40  /* { dg-final { scan-tree-dump-times "vectorization not profitable" 1 "vect" { xfail { vect_hw_misalign } } } } */
      41