1  /* { dg-do compile }
       2  /* { dg-options "-msse2 -O2 -ftree-vectorize" } */
       3  /* { dg-final { scan-assembler "pavgb" } } */
       4  /* { dg-final { scan-assembler "pavgw" } } */
       5  
       6  #define N 1024
       7  
       8  #define TEST(TYPE)						\
       9    unsigned TYPE a_##TYPE[N], b_##TYPE[N], c_##TYPE[N];		\
      10    void f_##TYPE (void)						\
      11    {								\
      12      int i;							\
      13      for (i = 0; i < N; i++)					\
      14        a_##TYPE[i] = (b_##TYPE[i] + c_##TYPE[i] + 1) >> 1;	\
      15    }
      16  
      17  TEST(char);
      18  TEST(short);