1 /* { dg-do compile } */
2 /* { dg-options "-O3" } */
3
4 #pragma GCC target "+nosve"
5
6 int
7 t6(int len, void * dummy, unsigned short * __restrict x)
8 {
9 len = len & ~31;
10 unsigned int result = 0;
11 __asm volatile ("");
12 for (int i = 0; i < len; i++)
13 result += x[i];
14 return result;
15 }
16
17 /* { dg-final { scan-assembler "uaddw" } } */
18 /* { dg-final { scan-assembler "uaddw2" } } */
19