1 /* This revealed a bug when rotates are expanded into
5 /* { dg-options "-O1 -std=c99" } */
6 /* { dg-skip-if "" { *-*-solaris2.5.1 *-*-solaris2.[5-9] } "*" "" } */
10 extern void abort (void);
13 f (uint32_t *S, int j)
15 uint32_t A, B, k, L[2] = {1234, 5678};
19 for (i = 0; i < j; i++)
21 k = (S[i] + A + B) & 0xffffffffL;
23 ((k << (3 & 0x1f)) | ((k & 0xffffffff) >> (32 - (3 & 0x1f))));
26 k = (L[i] + A + B) & 0xffffffffL;
28 ((k << (m & 0x1f)) | ((k & 0xffffffff) >> (32 - (m & 0x1f))));
36 uint32_t S[2] = {0xffff, 0xffffff};
38 if (f (S,2)!= 1392607300)