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);
19