1/*
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License 2.0 (the "License").  You may not use
5 * this file except in compliance with the License.  You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
10#define KL0 0x00000000L
11#define KL1 0x5A827999L
12#define KL2 0x6ED9EBA1L
13#define KL3 0x8F1BBCDCL
14#define KL4 0xA953FD4EL
15
16#define KR0 0x50A28BE6L
17#define KR1 0x5C4DD124L
18#define KR2 0x6D703EF3L
19#define KR3 0x7A6D76E9L
20#define KR4 0x00000000L
21
22#define WL00  0
23#define SL00 11
24#define WL01  1
25#define SL01 14
26#define WL02  2
27#define SL02 15
28#define WL03  3
29#define SL03 12
30#define WL04  4
31#define SL04  5
32#define WL05  5
33#define SL05  8
34#define WL06  6
35#define SL06  7
36#define WL07  7
37#define SL07  9
38#define WL08  8
39#define SL08 11
40#define WL09  9
41#define SL09 13
42#define WL10 10
43#define SL10 14
44#define WL11 11
45#define SL11 15
46#define WL12 12
47#define SL12  6
48#define WL13 13
49#define SL13  7
50#define WL14 14
51#define SL14  9
52#define WL15 15
53#define SL15  8
54
55#define WL16  7
56#define SL16  7
57#define WL17  4
58#define SL17  6
59#define WL18 13
60#define SL18  8
61#define WL19  1
62#define SL19 13
63#define WL20 10
64#define SL20 11
65#define WL21  6
66#define SL21  9
67#define WL22 15
68#define SL22  7
69#define WL23  3
70#define SL23 15
71#define WL24 12
72#define SL24  7
73#define WL25  0
74#define SL25 12
75#define WL26  9
76#define SL26 15
77#define WL27  5
78#define SL27  9
79#define WL28  2
80#define SL28 11
81#define WL29 14
82#define SL29  7
83#define WL30 11
84#define SL30 13
85#define WL31  8
86#define SL31 12
87
88#define WL32  3
89#define SL32 11
90#define WL33 10
91#define SL33 13
92#define WL34 14
93#define SL34  6
94#define WL35  4
95#define SL35  7
96#define WL36  9
97#define SL36 14
98#define WL37 15
99#define SL37  9
100#define WL38  8
101#define SL38 13
102#define WL39  1
103#define SL39 15
104#define WL40  2
105#define SL40 14
106#define WL41  7
107#define SL41  8
108#define WL42  0
109#define SL42 13
110#define WL43  6
111#define SL43  6
112#define WL44 13
113#define SL44  5
114#define WL45 11
115#define SL45 12
116#define WL46  5
117#define SL46  7
118#define WL47 12
119#define SL47  5
120
121#define WL48  1
122#define SL48 11
123#define WL49  9
124#define SL49 12
125#define WL50 11
126#define SL50 14
127#define WL51 10
128#define SL51 15
129#define WL52  0
130#define SL52 14
131#define WL53  8
132#define SL53 15
133#define WL54 12
134#define SL54  9
135#define WL55  4
136#define SL55  8
137#define WL56 13
138#define SL56  9
139#define WL57  3
140#define SL57 14
141#define WL58  7
142#define SL58  5
143#define WL59 15
144#define SL59  6
145#define WL60 14
146#define SL60  8
147#define WL61  5
148#define SL61  6
149#define WL62  6
150#define SL62  5
151#define WL63  2
152#define SL63 12
153
154#define WL64  4
155#define SL64  9
156#define WL65  0
157#define SL65 15
158#define WL66  5
159#define SL66  5
160#define WL67  9
161#define SL67 11
162#define WL68  7
163#define SL68  6
164#define WL69 12
165#define SL69  8
166#define WL70  2
167#define SL70 13
168#define WL71 10
169#define SL71 12
170#define WL72 14
171#define SL72  5
172#define WL73  1
173#define SL73 12
174#define WL74  3
175#define SL74 13
176#define WL75  8
177#define SL75 14
178#define WL76 11
179#define SL76 11
180#define WL77  6
181#define SL77  8
182#define WL78 15
183#define SL78  5
184#define WL79 13
185#define SL79  6
186
187#define WR00  5
188#define SR00  8
189#define WR01 14
190#define SR01  9
191#define WR02  7
192#define SR02  9
193#define WR03  0
194#define SR03 11
195#define WR04  9
196#define SR04 13
197#define WR05  2
198#define SR05 15
199#define WR06 11
200#define SR06 15
201#define WR07  4
202#define SR07  5
203#define WR08 13
204#define SR08  7
205#define WR09  6
206#define SR09  7
207#define WR10 15
208#define SR10  8
209#define WR11  8
210#define SR11 11
211#define WR12  1
212#define SR12 14
213#define WR13 10
214#define SR13 14
215#define WR14  3
216#define SR14 12
217#define WR15 12
218#define SR15  6
219
220#define WR16  6
221#define SR16  9
222#define WR17 11
223#define SR17 13
224#define WR18  3
225#define SR18 15
226#define WR19  7
227#define SR19  7
228#define WR20  0
229#define SR20 12
230#define WR21 13
231#define SR21  8
232#define WR22  5
233#define SR22  9
234#define WR23 10
235#define SR23 11
236#define WR24 14
237#define SR24  7
238#define WR25 15
239#define SR25  7
240#define WR26  8
241#define SR26 12
242#define WR27 12
243#define SR27  7
244#define WR28  4
245#define SR28  6
246#define WR29  9
247#define SR29 15
248#define WR30  1
249#define SR30 13
250#define WR31  2
251#define SR31 11
252
253#define WR32 15
254#define SR32  9
255#define WR33  5
256#define SR33  7
257#define WR34  1
258#define SR34 15
259#define WR35  3
260#define SR35 11
261#define WR36  7
262#define SR36  8
263#define WR37 14
264#define SR37  6
265#define WR38  6
266#define SR38  6
267#define WR39  9
268#define SR39 14
269#define WR40 11
270#define SR40 12
271#define WR41  8
272#define SR41 13
273#define WR42 12
274#define SR42  5
275#define WR43  2
276#define SR43 14
277#define WR44 10
278#define SR44 13
279#define WR45  0
280#define SR45 13
281#define WR46  4
282#define SR46  7
283#define WR47 13
284#define SR47  5
285
286#define WR48  8
287#define SR48 15
288#define WR49  6
289#define SR49  5
290#define WR50  4
291#define SR50  8
292#define WR51  1
293#define SR51 11
294#define WR52  3
295#define SR52 14
296#define WR53 11
297#define SR53 14
298#define WR54 15
299#define SR54  6
300#define WR55  0
301#define SR55 14
302#define WR56  5
303#define SR56  6
304#define WR57 12
305#define SR57  9
306#define WR58  2
307#define SR58 12
308#define WR59 13
309#define SR59  9
310#define WR60  9
311#define SR60 12
312#define WR61  7
313#define SR61  5
314#define WR62 10
315#define SR62 15
316#define WR63 14
317#define SR63  8
318
319#define WR64 12
320#define SR64  8
321#define WR65 15
322#define SR65  5
323#define WR66 10
324#define SR66 12
325#define WR67  4
326#define SR67  9
327#define WR68  1
328#define SR68 12
329#define WR69  5
330#define SR69  5
331#define WR70  8
332#define SR70 14
333#define WR71  7
334#define SR71  6
335#define WR72  6
336#define SR72  8
337#define WR73  2
338#define SR73 13
339#define WR74 13
340#define SR74  6
341#define WR75 14
342#define SR75  5
343#define WR76  0
344#define SR76 15
345#define WR77  3
346#define SR77 13
347#define WR78  9
348#define SR78 11
349#define WR79 11
350#define SR79 11
351