Line | Source | Count |
1 | | - |
2 | | - |
3 | void fcrypt_body(DES_LONG *out, DES_key_schedule *ks, DES_LONG Eswap0, | - |
4 | DES_LONG Eswap1) | - |
5 | { | - |
6 | register DES_LONG l, r, t, u; | - |
7 | register DES_LONG *s; | - |
8 | register int j; | - |
9 | register DES_LONG E0, E1; | - |
10 | | - |
11 | l = 0; | - |
12 | r = 0; | - |
13 | | - |
14 | s = (DES_LONG *)ks; | - |
15 | E0 = Eswap0; | - |
16 | E1 = Eswap1; | - |
17 | | - |
18 | for (j = 0; j < 25TRUE | evaluated 100 times by 1 test | FALSE | evaluated 4 times by 1 test |
; j++) { | 4-100 |
19 | { { DES_LONG tmp; t=r^(r>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=r^s[0 ]; u^=tmp; tmp=(t<<16); t^=r^s[0 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); l^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
20 | { { DES_LONG tmp; t=l^(l>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=l^s[2 ]; u^=tmp; tmp=(t<<16); t^=l^s[2 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); r^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
21 | { { DES_LONG tmp; t=r^(r>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=r^s[4 ]; u^=tmp; tmp=(t<<16); t^=r^s[4 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); l^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
22 | { { DES_LONG tmp; t=l^(l>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=l^s[6 ]; u^=tmp; tmp=(t<<16); t^=l^s[6 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); r^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
23 | { { DES_LONG tmp; t=r^(r>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=r^s[8 ]; u^=tmp; tmp=(t<<16); t^=r^s[8 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); l^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
24 | { { DES_LONG tmp; t=l^(l>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=l^s[10 ]; u^=tmp; tmp=(t<<16); t^=l^s[10 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); r^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
25 | { { DES_LONG tmp; t=r^(r>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=r^s[12 ]; u^=tmp; tmp=(t<<16); t^=r^s[12 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); l^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
26 | { { DES_LONG tmp; t=l^(l>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=l^s[14 ]; u^=tmp; tmp=(t<<16); t^=l^s[14 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); r^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
27 | { { DES_LONG tmp; t=r^(r>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=r^s[16 ]; u^=tmp; tmp=(t<<16); t^=r^s[16 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); l^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
28 | { { DES_LONG tmp; t=l^(l>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=l^s[18 ]; u^=tmp; tmp=(t<<16); t^=l^s[18 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); r^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
29 | { { DES_LONG tmp; t=r^(r>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=r^s[20 ]; u^=tmp; tmp=(t<<16); t^=r^s[20 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); l^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
30 | { { DES_LONG tmp; t=l^(l>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=l^s[22 ]; u^=tmp; tmp=(t<<16); t^=l^s[22 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); r^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
31 | { { DES_LONG tmp; t=r^(r>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=r^s[24 ]; u^=tmp; tmp=(t<<16); t^=r^s[24 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); l^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
32 | { { DES_LONG tmp; t=l^(l>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=l^s[26 ]; u^=tmp; tmp=(t<<16); t^=l^s[26 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); r^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
33 | { { DES_LONG tmp; t=r^(r>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=r^s[28 ]; u^=tmp; tmp=(t<<16); t^=r^s[28 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); l^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
34 | { { DES_LONG tmp; t=l^(l>>16L); u=t&E0; t&=E1; tmp=(u<<16); u^=l^s[30 ]; u^=tmp; tmp=(t<<16); t^=l^s[30 +1]; t^=tmp; }; t=({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(4),"0"(t) : "cc"); ret; }); r^= DES_SPtrans[0][(u>> 2L)&0x3f]^ DES_SPtrans[2][(u>>10L)&0x3f]^ DES_SPtrans[4][(u>>18L)&0x3f]^ DES_SPtrans[6][(u>>26L)&0x3f]^ DES_SPtrans[1][(t>> 2L)&0x3f]^ DES_SPtrans[3][(t>>10L)&0x3f]^ DES_SPtrans[5][(t>>18L)&0x3f]^ DES_SPtrans[7][(t>>26L)&0x3f]; }; | - |
35 | t = l; | - |
36 | l = r; | - |
37 | r = t; | - |
38 | }executed 100 times by 1 test: end of block | 100 |
39 | l = ({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(3),"0"(l) : "cc"); ret; }) & 0xffffffffL; | - |
40 | r = ({ register unsigned int ret; asm ("rorl %1,%0" : "=r"(ret) : "I"(3),"0"(r) : "cc"); ret; }) & 0xffffffffL; | - |
41 | | - |
42 | ((t)=((((l)>>(1))^(r))&(0x55555555L)), (r)^=(t), (l)^=((t)<<(1))); | - |
43 | ((t)=((((r)>>(8))^(l))&(0x00ff00ffL)), (l)^=(t), (r)^=((t)<<(8))); | - |
44 | ((t)=((((l)>>(2))^(r))&(0x33333333L)), (r)^=(t), (l)^=((t)<<(2))); | - |
45 | ((t)=((((r)>>(16))^(l))&(0x0000ffffL)), (l)^=(t), (r)^=((t)<<(16))); | - |
46 | ((t)=((((l)>>(4))^(r))&(0x0f0f0f0fL)), (r)^=(t), (l)^=((t)<<(4))); | - |
47 | | - |
48 | out[0] = r; | - |
49 | out[1] = l; | - |
50 | }executed 4 times by 1 test: end of block | 4 |
| | |