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