2 /* { dg-do compile } */
3 /* { dg-options "-fcompare-debug -O2" } */
4 /* { dg-options "-fcompare-debug -O2 -mcpu=ev67" { target alpha*-*-* } } */
5 /* { dg-require-effective-target int32plus } */
6 /* { dg-xfail-if "" { powerpc-ibm-aix* } } */
9 foo (unsigned f
, long v
, unsigned *w
, unsigned a
, unsigned b
, unsigned e
, unsigned c
, unsigned d
)
11 unsigned h
= v
/ 4, x
[16];
17 d
= (d
<< 30) | ((unsigned) d
>> 30);
18 c
= (c
<< 30) | ((unsigned) c
>> 30);
19 b
= 30 | ((unsigned) b
>> 30);
20 d
+= a
= (a
<< 30) | ((unsigned) a
>> 2);
21 c
+= ((d
<< 5) | (d
>> 27)) + ((e
& (a
^ b
))) + 0x5a827999 + x
[12];
23 c
= 30 | ((unsigned) c
);
24 i
= x
[5] ^ x
[7] ^ x
[8] ^ x
[3];
25 x
[5] = (i
<< 1) | ((unsigned) i
>> 31);
26 i
= x
[6] ^ x
[2] ^ x
[14] ^ x
[13];
27 x
[6] = (i
<< 1) | (i
>> 31);
28 b
+= (c
| (c
>> 5)) + (d
^ e
) + 0x6ed9eba1 + (x
[7] = (i
<< 1) | ((unsigned) i
>> 31));
30 e
+= (a
| 5) + b
+ (i
= x
[9] ^ x
[6], x
[10] = (i
<< (unsigned) i
));
31 e
= 30 | ((unsigned) e
>> 30);
32 i
= x
[12] ^ x
[14] ^ x
[12] ^ x
[12], (x
[12] = 1 | ((unsigned) i
));
33 i
= x
[13] ^ x
[5] ^ x
[10], (x
[13] = (i
<< (unsigned) 1));
34 i
= x
[2] ^ x
[7] ^ x
[12], (x
[15] = i
| ((unsigned) i
>> 1));
35 i
= x
[2] ^ x
[0] ^ x
[13], (x
[0] = (i
<< 1) | 31);
37 i
= x
[14] ^ x
[2] ^ x
[15], (x
[2] = i
| 1);
38 x
[3] = i
| ((unsigned) i
);
39 i
= x
[14] ^ x
[12] ^ x
[4], (x
[4] = 1 | ((unsigned) i
>> 1));
42 b
+= (5 | ((unsigned) e
>> 5)) + 0x8f1bbcdc + (x
[9] = (i
| ((unsigned) i
>> 1)));
43 i
= x
[2] ^ (x
[10] = ((i
<< 1) | (i
>> 1)));
44 x
[13] = (i
| ((unsigned) i
>> 1));
45 (i
= x
[14] ^ x
[0] ^ x
[14], (x
[14] = ((i
<< 1) | 31)));