1 /* PR tree-optimization/97081 */
2 
3 #include "tree-vect.h"
4 
5 unsigned short s[1024];
6 unsigned char c[1024];
7 
8 __attribute__((noipa)) void
foo(int n)9 foo (int n)
10 {
11   for (int i = 0; i < 1024; i++)
12     s[i] = (s[i] << n) | (s[i] >> (__SIZEOF_SHORT__ * __CHAR_BIT__ - n));
13   for (int i = 0; i < 1024; i++)
14     c[i] = (c[i] << n) | (c[i] >> (__CHAR_BIT__ - n));
15 }
16 
17 int
main()18 main ()
19 {
20   check_vect ();
21   for (int i = 0; i < 1024; i++)
22     {
23       s[i] = i;
24       c[i] = i;
25     }
26   foo (3);
27   for (int i = 0; i < 1024; i++)
28     if (s[i] != (unsigned short) ((i << 3) | (i >> (__SIZEOF_SHORT__ * __CHAR_BIT__ - 3)))
29         || c[i] != (unsigned char) ((((unsigned char) i) << 3) | (((unsigned char) i) >> (__CHAR_BIT__ - 3))))
30       __builtin_abort ();
31   return 0;
32 }
33