annotate gcc/testsuite/gcc.c-torture/compile/920611-2.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 typedef unsigned char uchar;
kono
parents:
diff changeset
2 typedef unsigned short ushort;
kono
parents:
diff changeset
3 typedef unsigned int uint;
kono
parents:
diff changeset
4 typedef unsigned long ulong;
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 static unsigned long S[1][1]={0x00820200};
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 static int body(out0,out1,ks,Eswap0,Eswap1)
kono
parents:
diff changeset
9 ulong *out0,*out1;
kono
parents:
diff changeset
10 int *ks;
kono
parents:
diff changeset
11 ulong Eswap0,Eswap1;
kono
parents:
diff changeset
12 {
kono
parents:
diff changeset
13 register unsigned long l,r,t,u,v;
kono
parents:
diff changeset
14 register unsigned long *s;
kono
parents:
diff changeset
15 register int i,j;
kono
parents:
diff changeset
16 register unsigned long E0,E1;
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 l=0;
kono
parents:
diff changeset
19 r=0;
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 s=(ulong *)ks;
kono
parents:
diff changeset
22 E0=Eswap0;
kono
parents:
diff changeset
23 E1=Eswap1;
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 for (i=0; i<(16 *2); i+=4)
kono
parents:
diff changeset
26 {
kono
parents:
diff changeset
27 v=(r^(r>>16));
kono
parents:
diff changeset
28 u=(v&E0);
kono
parents:
diff changeset
29 v=(v&E1);
kono
parents:
diff changeset
30 u=(u^(u<<16))^r^s[ i ];
kono
parents:
diff changeset
31 t=(v^(v<<16))^r^s[ i+1];
kono
parents:
diff changeset
32 t=(t>>4)|(t<<28);
kono
parents:
diff changeset
33 l^=S[1][(t)&0x3f]| S[3][(t>> 8)&0x3f]| S[5][(t>>16)&0x3f]| S[7][(t>>24)&0x3f]| S[0][(u)&0x3f]| S[2][(u>> 8)&0x3f]| S[4][(u>>16)&0x3f]| S[6][(u>>24)&0x3f];
kono
parents:
diff changeset
34 v=(l^(l>>16));
kono
parents:
diff changeset
35 u=(v&E0);
kono
parents:
diff changeset
36 v=(v&E1);
kono
parents:
diff changeset
37 u=(u^(u<<16))^l^s[ i+2 ];
kono
parents:
diff changeset
38 t=(v^(v<<16))^l^s[ i+2+1];
kono
parents:
diff changeset
39 t=(t>>4)|(t<<28);
kono
parents:
diff changeset
40 r^= S[1][(t )&0x3f];
kono
parents:
diff changeset
41 }
kono
parents:
diff changeset
42 t=l;
kono
parents:
diff changeset
43 l=r;
kono
parents:
diff changeset
44 r=t;
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 t=r;
kono
parents:
diff changeset
47 r=(l>>1)|(l<<31);
kono
parents:
diff changeset
48 l=(t>>1)|(t<<31);
kono
parents:
diff changeset
49
kono
parents:
diff changeset
50 *out0=l;
kono
parents:
diff changeset
51 *out1=r;
kono
parents:
diff changeset
52 return(0);
kono
parents:
diff changeset
53 }