1 #include "s390x_arch.h"
2 
3 .text
4 .align	64
5 .type	Ktable,@object
6 Ktable: .long	0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xca62c1d6
7 	.skip	48	#.long	0,0,0,0,0,0,0,0,0,0,0,0
8 .size	Ktable,.-Ktable
9 .globl	sha1_block_data_order
10 .type	sha1_block_data_order,@function
11 sha1_block_data_order:
12 	larl	%r1,OPENSSL_s390xcap_P
13 	lg	%r0,S390X_KIMD(%r1)	# check kimd capabilities
14 	tmhh	%r0,16384
15 	jz	.Lsoftware
16 	lghi	%r0,1
17 	lgr	%r1,%r2
18 	lgr	%r2,%r3
19 	sllg	%r3,%r4,6
20 	.long	0xb93e0002	# kimd %r0,%r2
21 	brc	1,.-4		# pay attention to "partial completion"
22 	br	%r14
23 .align	16
24 .Lsoftware:
25 	lghi	%r1,-160
26 	st	%r2,8(%r15)
27 	stm	%r6,%r15,24(%r15)
28 	lgr	%r0,%r15
29 	la	%r15,0(%r1,%r15)
30 	st	%r0,0(%r15)
31 
32 	larl	%r10,Ktable
33 	llgf	%r5,0(%r2)
34 	llgf	%r6,4(%r2)
35 	llgf	%r7,8(%r2)
36 	llgf	%r8,12(%r2)
37 	llgf	%r9,16(%r2)
38 
39 	lg	%r0,0(%r10)
40 	lg	%r1,8(%r10)
41 
42 .Lloop:
43 	rllg	%r0,%r0,32
44 	lg	%r12,0(%r3)	### Xload(0)
45 	rllg	%r13,%r12,32
46 	stg	%r12,96(%r15)
47 	alr	%r9,%r0		### 0
48 	rll	%r11,%r5,5
49 	lr	%r10,%r8
50 	xr	%r10,%r7
51 	alr	%r9,%r11
52 	nr	%r10,%r6
53 	alr	%r9,%r13
54 	xr	%r10,%r8
55 	rll	%r6,%r6,30
56 	alr	%r9,%r10
57 	alr	%r8,%r0		### 1
58 	rll	%r11,%r9,5
59 	lr	%r10,%r7
60 	xr	%r10,%r6
61 	alr	%r8,%r11
62 	nr	%r10,%r5
63 	alr	%r8,%r12
64 	xr	%r10,%r7
65 	rll	%r5,%r5,30
66 	alr	%r8,%r10
67 	lg	%r14,8(%r3)	### Xload(2)
68 	rllg	%r12,%r14,32
69 	stg	%r14,104(%r15)
70 	alr	%r7,%r0		### 2
71 	rll	%r11,%r8,5
72 	lr	%r10,%r6
73 	xr	%r10,%r5
74 	alr	%r7,%r11
75 	nr	%r10,%r9
76 	alr	%r7,%r12
77 	xr	%r10,%r6
78 	rll	%r9,%r9,30
79 	alr	%r7,%r10
80 	alr	%r6,%r0		### 3
81 	rll	%r11,%r7,5
82 	lr	%r10,%r5
83 	xr	%r10,%r9
84 	alr	%r6,%r11
85 	nr	%r10,%r8
86 	alr	%r6,%r14
87 	xr	%r10,%r5
88 	rll	%r8,%r8,30
89 	alr	%r6,%r10
90 	lg	%r13,16(%r3)	### Xload(4)
91 	rllg	%r14,%r13,32
92 	stg	%r13,112(%r15)
93 	alr	%r5,%r0		### 4
94 	rll	%r11,%r6,5
95 	lr	%r10,%r9
96 	xr	%r10,%r8
97 	alr	%r5,%r11
98 	nr	%r10,%r7
99 	alr	%r5,%r14
100 	xr	%r10,%r9
101 	rll	%r7,%r7,30
102 	alr	%r5,%r10
103 	alr	%r9,%r0		### 5
104 	rll	%r11,%r5,5
105 	lr	%r10,%r8
106 	xr	%r10,%r7
107 	alr	%r9,%r11
108 	nr	%r10,%r6
109 	alr	%r9,%r13
110 	xr	%r10,%r8
111 	rll	%r6,%r6,30
112 	alr	%r9,%r10
113 	lg	%r12,24(%r3)	### Xload(6)
114 	rllg	%r13,%r12,32
115 	stg	%r12,120(%r15)
116 	alr	%r8,%r0		### 6
117 	rll	%r11,%r9,5
118 	lr	%r10,%r7
119 	xr	%r10,%r6
120 	alr	%r8,%r11
121 	nr	%r10,%r5
122 	alr	%r8,%r13
123 	xr	%r10,%r7
124 	rll	%r5,%r5,30
125 	alr	%r8,%r10
126 	alr	%r7,%r0		### 7
127 	rll	%r11,%r8,5
128 	lr	%r10,%r6
129 	xr	%r10,%r5
130 	alr	%r7,%r11
131 	nr	%r10,%r9
132 	alr	%r7,%r12
133 	xr	%r10,%r6
134 	rll	%r9,%r9,30
135 	alr	%r7,%r10
136 	lg	%r14,32(%r3)	### Xload(8)
137 	rllg	%r12,%r14,32
138 	stg	%r14,128(%r15)
139 	alr	%r6,%r0		### 8
140 	rll	%r11,%r7,5
141 	lr	%r10,%r5
142 	xr	%r10,%r9
143 	alr	%r6,%r11
144 	nr	%r10,%r8
145 	alr	%r6,%r12
146 	xr	%r10,%r5
147 	rll	%r8,%r8,30
148 	alr	%r6,%r10
149 	alr	%r5,%r0		### 9
150 	rll	%r11,%r6,5
151 	lr	%r10,%r9
152 	xr	%r10,%r8
153 	alr	%r5,%r11
154 	nr	%r10,%r7
155 	alr	%r5,%r14
156 	xr	%r10,%r9
157 	rll	%r7,%r7,30
158 	alr	%r5,%r10
159 	lg	%r13,40(%r3)	### Xload(10)
160 	rllg	%r14,%r13,32
161 	stg	%r13,136(%r15)
162 	alr	%r9,%r0		### 10
163 	rll	%r11,%r5,5
164 	lr	%r10,%r8
165 	xr	%r10,%r7
166 	alr	%r9,%r11
167 	nr	%r10,%r6
168 	alr	%r9,%r14
169 	xr	%r10,%r8
170 	rll	%r6,%r6,30
171 	alr	%r9,%r10
172 	alr	%r8,%r0		### 11
173 	rll	%r11,%r9,5
174 	lr	%r10,%r7
175 	xr	%r10,%r6
176 	alr	%r8,%r11
177 	nr	%r10,%r5
178 	alr	%r8,%r13
179 	xr	%r10,%r7
180 	rll	%r5,%r5,30
181 	alr	%r8,%r10
182 	lg	%r12,48(%r3)	### Xload(12)
183 	rllg	%r13,%r12,32
184 	stg	%r12,144(%r15)
185 	alr	%r7,%r0		### 12
186 	rll	%r11,%r8,5
187 	lr	%r10,%r6
188 	xr	%r10,%r5
189 	alr	%r7,%r11
190 	nr	%r10,%r9
191 	alr	%r7,%r13
192 	xr	%r10,%r6
193 	rll	%r9,%r9,30
194 	alr	%r7,%r10
195 	alr	%r6,%r0		### 13
196 	rll	%r11,%r7,5
197 	lr	%r10,%r5
198 	xr	%r10,%r9
199 	alr	%r6,%r11
200 	nr	%r10,%r8
201 	alr	%r6,%r12
202 	xr	%r10,%r5
203 	rll	%r8,%r8,30
204 	alr	%r6,%r10
205 	lg	%r14,56(%r3)	### Xload(14)
206 	rllg	%r12,%r14,32
207 	stg	%r14,152(%r15)
208 	alr	%r5,%r0		### 14
209 	rll	%r11,%r6,5
210 	lr	%r10,%r9
211 	xr	%r10,%r8
212 	alr	%r5,%r11
213 	nr	%r10,%r7
214 	alr	%r5,%r12
215 	xr	%r10,%r9
216 	rll	%r7,%r7,30
217 	alr	%r5,%r10
218 	lg	%r2,96(%r15)	### Xupdate(16) warm-up
219 	lr	%r13,%r12
220 	alr	%r9,%r0		### 15
221 	rll	%r11,%r5,5
222 	lr	%r10,%r8
223 	xr	%r10,%r7
224 	alr	%r9,%r11
225 	nr	%r10,%r6
226 	alr	%r9,%r14
227 	xr	%r10,%r8
228 	rll	%r6,%r6,30
229 	alr	%r9,%r10
230 	xgr	%r13,%r2		### Xupdate(16)
231 	lg	%r2,104(%r15)
232 	xg	%r13,128(%r15)
233 	xgr	%r13,%r2
234 	rll	%r13,%r13,1
235 	rllg	%r14,%r13,32
236 	rll	%r14,%r14,1
237 	rllg	%r13,%r14,32
238 	lr	%r12,%r14		# feedback
239 	stg	%r13,96(%r15)
240 	alr	%r8,%r0		### 16
241 	rll	%r11,%r9,5
242 	lr	%r10,%r7
243 	xr	%r10,%r6
244 	alr	%r8,%r11
245 	nr	%r10,%r5
246 	alr	%r8,%r14
247 	xr	%r10,%r7
248 	rll	%r5,%r5,30
249 	alr	%r8,%r10
250 	alr	%r7,%r0		### 17
251 	rll	%r11,%r8,5
252 	lr	%r10,%r6
253 	xr	%r10,%r5
254 	alr	%r7,%r11
255 	nr	%r10,%r9
256 	alr	%r7,%r13
257 	xr	%r10,%r6
258 	rll	%r9,%r9,30
259 	alr	%r7,%r10
260 	xgr	%r12,%r2		### Xupdate(18)
261 	lg	%r2,112(%r15)
262 	xg	%r12,136(%r15)
263 	xgr	%r12,%r2
264 	rll	%r12,%r12,1
265 	rllg	%r13,%r12,32
266 	rll	%r13,%r13,1
267 	rllg	%r12,%r13,32
268 	lr	%r14,%r13		# feedback
269 	stg	%r12,104(%r15)
270 	alr	%r6,%r0		### 18
271 	rll	%r11,%r7,5
272 	lr	%r10,%r5
273 	xr	%r10,%r9
274 	alr	%r6,%r11
275 	nr	%r10,%r8
276 	alr	%r6,%r13
277 	xr	%r10,%r5
278 	rll	%r8,%r8,30
279 	alr	%r6,%r10
280 	alr	%r5,%r0		### 19
281 	rll	%r11,%r6,5
282 	lr	%r10,%r9
283 	xr	%r10,%r8
284 	alr	%r5,%r11
285 	nr	%r10,%r7
286 	alr	%r5,%r12
287 	xr	%r10,%r9
288 	rll	%r7,%r7,30
289 	alr	%r5,%r10
290 	rllg	%r0,%r0,32
291 	xgr	%r14,%r2		### Xupdate(20)
292 	lg	%r2,120(%r15)
293 	xg	%r14,144(%r15)
294 	xgr	%r14,%r2
295 	rll	%r14,%r14,1
296 	rllg	%r12,%r14,32
297 	rll	%r12,%r12,1
298 	rllg	%r14,%r12,32
299 	lr	%r13,%r12		# feedback
300 	stg	%r14,112(%r15)
301 	alr	%r9,%r0		### 20
302 	rll	%r11,%r5,5
303 	lr	%r10,%r6
304 	alr	%r9,%r11
305 	xr	%r10,%r7
306 	alr	%r9,%r12
307 	xr	%r10,%r8
308 	rll	%r6,%r6,30
309 	alr	%r9,%r10
310 	alr	%r8,%r0		### 21
311 	rll	%r11,%r9,5
312 	lr	%r10,%r5
313 	alr	%r8,%r11
314 	xr	%r10,%r6
315 	alr	%r8,%r14
316 	xr	%r10,%r7
317 	rll	%r5,%r5,30
318 	alr	%r8,%r10
319 	xgr	%r13,%r2		### Xupdate(22)
320 	lg	%r2,128(%r15)
321 	xg	%r13,152(%r15)
322 	xgr	%r13,%r2
323 	rll	%r13,%r13,1
324 	rllg	%r14,%r13,32
325 	rll	%r14,%r14,1
326 	rllg	%r13,%r14,32
327 	lr	%r12,%r14		# feedback
328 	stg	%r13,120(%r15)
329 	alr	%r7,%r0		### 22
330 	rll	%r11,%r8,5
331 	lr	%r10,%r9
332 	alr	%r7,%r11
333 	xr	%r10,%r5
334 	alr	%r7,%r14
335 	xr	%r10,%r6
336 	rll	%r9,%r9,30
337 	alr	%r7,%r10
338 	alr	%r6,%r0		### 23
339 	rll	%r11,%r7,5
340 	lr	%r10,%r8
341 	alr	%r6,%r11
342 	xr	%r10,%r9
343 	alr	%r6,%r13
344 	xr	%r10,%r5
345 	rll	%r8,%r8,30
346 	alr	%r6,%r10
347 	xgr	%r12,%r2		### Xupdate(24)
348 	lg	%r2,136(%r15)
349 	xg	%r12,96(%r15)
350 	xgr	%r12,%r2
351 	rll	%r12,%r12,1
352 	rllg	%r13,%r12,32
353 	rll	%r13,%r13,1
354 	rllg	%r12,%r13,32
355 	lr	%r14,%r13		# feedback
356 	stg	%r12,128(%r15)
357 	alr	%r5,%r0		### 24
358 	rll	%r11,%r6,5
359 	lr	%r10,%r7
360 	alr	%r5,%r11
361 	xr	%r10,%r8
362 	alr	%r5,%r13
363 	xr	%r10,%r9
364 	rll	%r7,%r7,30
365 	alr	%r5,%r10
366 	alr	%r9,%r0		### 25
367 	rll	%r11,%r5,5
368 	lr	%r10,%r6
369 	alr	%r9,%r11
370 	xr	%r10,%r7
371 	alr	%r9,%r12
372 	xr	%r10,%r8
373 	rll	%r6,%r6,30
374 	alr	%r9,%r10
375 	xgr	%r14,%r2		### Xupdate(26)
376 	lg	%r2,144(%r15)
377 	xg	%r14,104(%r15)
378 	xgr	%r14,%r2
379 	rll	%r14,%r14,1
380 	rllg	%r12,%r14,32
381 	rll	%r12,%r12,1
382 	rllg	%r14,%r12,32
383 	lr	%r13,%r12		# feedback
384 	stg	%r14,136(%r15)
385 	alr	%r8,%r0		### 26
386 	rll	%r11,%r9,5
387 	lr	%r10,%r5
388 	alr	%r8,%r11
389 	xr	%r10,%r6
390 	alr	%r8,%r12
391 	xr	%r10,%r7
392 	rll	%r5,%r5,30
393 	alr	%r8,%r10
394 	alr	%r7,%r0		### 27
395 	rll	%r11,%r8,5
396 	lr	%r10,%r9
397 	alr	%r7,%r11
398 	xr	%r10,%r5
399 	alr	%r7,%r14
400 	xr	%r10,%r6
401 	rll	%r9,%r9,30
402 	alr	%r7,%r10
403 	xgr	%r13,%r2		### Xupdate(28)
404 	lg	%r2,152(%r15)
405 	xg	%r13,112(%r15)
406 	xgr	%r13,%r2
407 	rll	%r13,%r13,1
408 	rllg	%r14,%r13,32
409 	rll	%r14,%r14,1
410 	rllg	%r13,%r14,32
411 	lr	%r12,%r14		# feedback
412 	stg	%r13,144(%r15)
413 	alr	%r6,%r0		### 28
414 	rll	%r11,%r7,5
415 	lr	%r10,%r8
416 	alr	%r6,%r11
417 	xr	%r10,%r9
418 	alr	%r6,%r14
419 	xr	%r10,%r5
420 	rll	%r8,%r8,30
421 	alr	%r6,%r10
422 	alr	%r5,%r0		### 29
423 	rll	%r11,%r6,5
424 	lr	%r10,%r7
425 	alr	%r5,%r11
426 	xr	%r10,%r8
427 	alr	%r5,%r13
428 	xr	%r10,%r9
429 	rll	%r7,%r7,30
430 	alr	%r5,%r10
431 	xgr	%r12,%r2		### Xupdate(30)
432 	lg	%r2,96(%r15)
433 	xg	%r12,120(%r15)
434 	xgr	%r12,%r2
435 	rll	%r12,%r12,1
436 	rllg	%r13,%r12,32
437 	rll	%r13,%r13,1
438 	rllg	%r12,%r13,32
439 	lr	%r14,%r13		# feedback
440 	stg	%r12,152(%r15)
441 	alr	%r9,%r0		### 30
442 	rll	%r11,%r5,5
443 	lr	%r10,%r6
444 	alr	%r9,%r11
445 	xr	%r10,%r7
446 	alr	%r9,%r13
447 	xr	%r10,%r8
448 	rll	%r6,%r6,30
449 	alr	%r9,%r10
450 	alr	%r8,%r0		### 31
451 	rll	%r11,%r9,5
452 	lr	%r10,%r5
453 	alr	%r8,%r11
454 	xr	%r10,%r6
455 	alr	%r8,%r12
456 	xr	%r10,%r7
457 	rll	%r5,%r5,30
458 	alr	%r8,%r10
459 	xgr	%r14,%r2		### Xupdate(32)
460 	lg	%r2,104(%r15)
461 	xg	%r14,128(%r15)
462 	xgr	%r14,%r2
463 	rll	%r14,%r14,1
464 	rllg	%r12,%r14,32
465 	rll	%r12,%r12,1
466 	rllg	%r14,%r12,32
467 	lr	%r13,%r12		# feedback
468 	stg	%r14,96(%r15)
469 	alr	%r7,%r0		### 32
470 	rll	%r11,%r8,5
471 	lr	%r10,%r9
472 	alr	%r7,%r11
473 	xr	%r10,%r5
474 	alr	%r7,%r12
475 	xr	%r10,%r6
476 	rll	%r9,%r9,30
477 	alr	%r7,%r10
478 	alr	%r6,%r0		### 33
479 	rll	%r11,%r7,5
480 	lr	%r10,%r8
481 	alr	%r6,%r11
482 	xr	%r10,%r9
483 	alr	%r6,%r14
484 	xr	%r10,%r5
485 	rll	%r8,%r8,30
486 	alr	%r6,%r10
487 	xgr	%r13,%r2		### Xupdate(34)
488 	lg	%r2,112(%r15)
489 	xg	%r13,136(%r15)
490 	xgr	%r13,%r2
491 	rll	%r13,%r13,1
492 	rllg	%r14,%r13,32
493 	rll	%r14,%r14,1
494 	rllg	%r13,%r14,32
495 	lr	%r12,%r14		# feedback
496 	stg	%r13,104(%r15)
497 	alr	%r5,%r0		### 34
498 	rll	%r11,%r6,5
499 	lr	%r10,%r7
500 	alr	%r5,%r11
501 	xr	%r10,%r8
502 	alr	%r5,%r14
503 	xr	%r10,%r9
504 	rll	%r7,%r7,30
505 	alr	%r5,%r10
506 	alr	%r9,%r0		### 35
507 	rll	%r11,%r5,5
508 	lr	%r10,%r6
509 	alr	%r9,%r11
510 	xr	%r10,%r7
511 	alr	%r9,%r13
512 	xr	%r10,%r8
513 	rll	%r6,%r6,30
514 	alr	%r9,%r10
515 	xgr	%r12,%r2		### Xupdate(36)
516 	lg	%r2,120(%r15)
517 	xg	%r12,144(%r15)
518 	xgr	%r12,%r2
519 	rll	%r12,%r12,1
520 	rllg	%r13,%r12,32
521 	rll	%r13,%r13,1
522 	rllg	%r12,%r13,32
523 	lr	%r14,%r13		# feedback
524 	stg	%r12,112(%r15)
525 	alr	%r8,%r0		### 36
526 	rll	%r11,%r9,5
527 	lr	%r10,%r5
528 	alr	%r8,%r11
529 	xr	%r10,%r6
530 	alr	%r8,%r13
531 	xr	%r10,%r7
532 	rll	%r5,%r5,30
533 	alr	%r8,%r10
534 	alr	%r7,%r0		### 37
535 	rll	%r11,%r8,5
536 	lr	%r10,%r9
537 	alr	%r7,%r11
538 	xr	%r10,%r5
539 	alr	%r7,%r12
540 	xr	%r10,%r6
541 	rll	%r9,%r9,30
542 	alr	%r7,%r10
543 	xgr	%r14,%r2		### Xupdate(38)
544 	lg	%r2,128(%r15)
545 	xg	%r14,152(%r15)
546 	xgr	%r14,%r2
547 	rll	%r14,%r14,1
548 	rllg	%r12,%r14,32
549 	rll	%r12,%r12,1
550 	rllg	%r14,%r12,32
551 	lr	%r13,%r12		# feedback
552 	stg	%r14,120(%r15)
553 	alr	%r6,%r0		### 38
554 	rll	%r11,%r7,5
555 	lr	%r10,%r8
556 	alr	%r6,%r11
557 	xr	%r10,%r9
558 	alr	%r6,%r12
559 	xr	%r10,%r5
560 	rll	%r8,%r8,30
561 	alr	%r6,%r10
562 	alr	%r5,%r0		### 39
563 	rll	%r11,%r6,5
564 	lr	%r10,%r7
565 	alr	%r5,%r11
566 	xr	%r10,%r8
567 	alr	%r5,%r14
568 	xr	%r10,%r9
569 	rll	%r7,%r7,30
570 	alr	%r5,%r10
571 	rllg	%r1,%r1,32
572 	xgr	%r13,%r2		### Xupdate(40)
573 	lg	%r2,136(%r15)
574 	xg	%r13,96(%r15)
575 	xgr	%r13,%r2
576 	rll	%r13,%r13,1
577 	rllg	%r14,%r13,32
578 	rll	%r14,%r14,1
579 	rllg	%r13,%r14,32
580 	lr	%r12,%r14		# feedback
581 	stg	%r13,128(%r15)
582 	alr	%r9,%r1		### 40
583 	rll	%r11,%r5,5
584 	lr	%r10,%r6
585 	alr	%r9,%r11
586 	or	%r10,%r7
587 	lr	%r11,%r6
588 	nr	%r10,%r8
589 	nr	%r11,%r7
590 	alr	%r9,%r14
591 	or	%r10,%r11
592 	rll	%r6,%r6,30
593 	alr	%r9,%r10
594 	alr	%r8,%r1		### 41
595 	rll	%r11,%r9,5
596 	lr	%r10,%r5
597 	alr	%r8,%r11
598 	or	%r10,%r6
599 	lr	%r11,%r5
600 	nr	%r10,%r7
601 	nr	%r11,%r6
602 	alr	%r8,%r13
603 	or	%r10,%r11
604 	rll	%r5,%r5,30
605 	alr	%r8,%r10
606 	xgr	%r12,%r2		### Xupdate(42)
607 	lg	%r2,144(%r15)
608 	xg	%r12,104(%r15)
609 	xgr	%r12,%r2
610 	rll	%r12,%r12,1
611 	rllg	%r13,%r12,32
612 	rll	%r13,%r13,1
613 	rllg	%r12,%r13,32
614 	lr	%r14,%r13		# feedback
615 	stg	%r12,136(%r15)
616 	alr	%r7,%r1		### 42
617 	rll	%r11,%r8,5
618 	lr	%r10,%r9
619 	alr	%r7,%r11
620 	or	%r10,%r5
621 	lr	%r11,%r9
622 	nr	%r10,%r6
623 	nr	%r11,%r5
624 	alr	%r7,%r13
625 	or	%r10,%r11
626 	rll	%r9,%r9,30
627 	alr	%r7,%r10
628 	alr	%r6,%r1		### 43
629 	rll	%r11,%r7,5
630 	lr	%r10,%r8
631 	alr	%r6,%r11
632 	or	%r10,%r9
633 	lr	%r11,%r8
634 	nr	%r10,%r5
635 	nr	%r11,%r9
636 	alr	%r6,%r12
637 	or	%r10,%r11
638 	rll	%r8,%r8,30
639 	alr	%r6,%r10
640 	xgr	%r14,%r2		### Xupdate(44)
641 	lg	%r2,152(%r15)
642 	xg	%r14,112(%r15)
643 	xgr	%r14,%r2
644 	rll	%r14,%r14,1
645 	rllg	%r12,%r14,32
646 	rll	%r12,%r12,1
647 	rllg	%r14,%r12,32
648 	lr	%r13,%r12		# feedback
649 	stg	%r14,144(%r15)
650 	alr	%r5,%r1		### 44
651 	rll	%r11,%r6,5
652 	lr	%r10,%r7
653 	alr	%r5,%r11
654 	or	%r10,%r8
655 	lr	%r11,%r7
656 	nr	%r10,%r9
657 	nr	%r11,%r8
658 	alr	%r5,%r12
659 	or	%r10,%r11
660 	rll	%r7,%r7,30
661 	alr	%r5,%r10
662 	alr	%r9,%r1		### 45
663 	rll	%r11,%r5,5
664 	lr	%r10,%r6
665 	alr	%r9,%r11
666 	or	%r10,%r7
667 	lr	%r11,%r6
668 	nr	%r10,%r8
669 	nr	%r11,%r7
670 	alr	%r9,%r14
671 	or	%r10,%r11
672 	rll	%r6,%r6,30
673 	alr	%r9,%r10
674 	xgr	%r13,%r2		### Xupdate(46)
675 	lg	%r2,96(%r15)
676 	xg	%r13,120(%r15)
677 	xgr	%r13,%r2
678 	rll	%r13,%r13,1
679 	rllg	%r14,%r13,32
680 	rll	%r14,%r14,1
681 	rllg	%r13,%r14,32
682 	lr	%r12,%r14		# feedback
683 	stg	%r13,152(%r15)
684 	alr	%r8,%r1		### 46
685 	rll	%r11,%r9,5
686 	lr	%r10,%r5
687 	alr	%r8,%r11
688 	or	%r10,%r6
689 	lr	%r11,%r5
690 	nr	%r10,%r7
691 	nr	%r11,%r6
692 	alr	%r8,%r14
693 	or	%r10,%r11
694 	rll	%r5,%r5,30
695 	alr	%r8,%r10
696 	alr	%r7,%r1		### 47
697 	rll	%r11,%r8,5
698 	lr	%r10,%r9
699 	alr	%r7,%r11
700 	or	%r10,%r5
701 	lr	%r11,%r9
702 	nr	%r10,%r6
703 	nr	%r11,%r5
704 	alr	%r7,%r13
705 	or	%r10,%r11
706 	rll	%r9,%r9,30
707 	alr	%r7,%r10
708 	xgr	%r12,%r2		### Xupdate(48)
709 	lg	%r2,104(%r15)
710 	xg	%r12,128(%r15)
711 	xgr	%r12,%r2
712 	rll	%r12,%r12,1
713 	rllg	%r13,%r12,32
714 	rll	%r13,%r13,1
715 	rllg	%r12,%r13,32
716 	lr	%r14,%r13		# feedback
717 	stg	%r12,96(%r15)
718 	alr	%r6,%r1		### 48
719 	rll	%r11,%r7,5
720 	lr	%r10,%r8
721 	alr	%r6,%r11
722 	or	%r10,%r9
723 	lr	%r11,%r8
724 	nr	%r10,%r5
725 	nr	%r11,%r9
726 	alr	%r6,%r13
727 	or	%r10,%r11
728 	rll	%r8,%r8,30
729 	alr	%r6,%r10
730 	alr	%r5,%r1		### 49
731 	rll	%r11,%r6,5
732 	lr	%r10,%r7
733 	alr	%r5,%r11
734 	or	%r10,%r8
735 	lr	%r11,%r7
736 	nr	%r10,%r9
737 	nr	%r11,%r8
738 	alr	%r5,%r12
739 	or	%r10,%r11
740 	rll	%r7,%r7,30
741 	alr	%r5,%r10
742 	xgr	%r14,%r2		### Xupdate(50)
743 	lg	%r2,112(%r15)
744 	xg	%r14,136(%r15)
745 	xgr	%r14,%r2
746 	rll	%r14,%r14,1
747 	rllg	%r12,%r14,32
748 	rll	%r12,%r12,1
749 	rllg	%r14,%r12,32
750 	lr	%r13,%r12		# feedback
751 	stg	%r14,104(%r15)
752 	alr	%r9,%r1		### 50
753 	rll	%r11,%r5,5
754 	lr	%r10,%r6
755 	alr	%r9,%r11
756 	or	%r10,%r7
757 	lr	%r11,%r6
758 	nr	%r10,%r8
759 	nr	%r11,%r7
760 	alr	%r9,%r12
761 	or	%r10,%r11
762 	rll	%r6,%r6,30
763 	alr	%r9,%r10
764 	alr	%r8,%r1		### 51
765 	rll	%r11,%r9,5
766 	lr	%r10,%r5
767 	alr	%r8,%r11
768 	or	%r10,%r6
769 	lr	%r11,%r5
770 	nr	%r10,%r7
771 	nr	%r11,%r6
772 	alr	%r8,%r14
773 	or	%r10,%r11
774 	rll	%r5,%r5,30
775 	alr	%r8,%r10
776 	xgr	%r13,%r2		### Xupdate(52)
777 	lg	%r2,120(%r15)
778 	xg	%r13,144(%r15)
779 	xgr	%r13,%r2
780 	rll	%r13,%r13,1
781 	rllg	%r14,%r13,32
782 	rll	%r14,%r14,1
783 	rllg	%r13,%r14,32
784 	lr	%r12,%r14		# feedback
785 	stg	%r13,112(%r15)
786 	alr	%r7,%r1		### 52
787 	rll	%r11,%r8,5
788 	lr	%r10,%r9
789 	alr	%r7,%r11
790 	or	%r10,%r5
791 	lr	%r11,%r9
792 	nr	%r10,%r6
793 	nr	%r11,%r5
794 	alr	%r7,%r14
795 	or	%r10,%r11
796 	rll	%r9,%r9,30
797 	alr	%r7,%r10
798 	alr	%r6,%r1		### 53
799 	rll	%r11,%r7,5
800 	lr	%r10,%r8
801 	alr	%r6,%r11
802 	or	%r10,%r9
803 	lr	%r11,%r8
804 	nr	%r10,%r5
805 	nr	%r11,%r9
806 	alr	%r6,%r13
807 	or	%r10,%r11
808 	rll	%r8,%r8,30
809 	alr	%r6,%r10
810 	xgr	%r12,%r2		### Xupdate(54)
811 	lg	%r2,128(%r15)
812 	xg	%r12,152(%r15)
813 	xgr	%r12,%r2
814 	rll	%r12,%r12,1
815 	rllg	%r13,%r12,32
816 	rll	%r13,%r13,1
817 	rllg	%r12,%r13,32
818 	lr	%r14,%r13		# feedback
819 	stg	%r12,120(%r15)
820 	alr	%r5,%r1		### 54
821 	rll	%r11,%r6,5
822 	lr	%r10,%r7
823 	alr	%r5,%r11
824 	or	%r10,%r8
825 	lr	%r11,%r7
826 	nr	%r10,%r9
827 	nr	%r11,%r8
828 	alr	%r5,%r13
829 	or	%r10,%r11
830 	rll	%r7,%r7,30
831 	alr	%r5,%r10
832 	alr	%r9,%r1		### 55
833 	rll	%r11,%r5,5
834 	lr	%r10,%r6
835 	alr	%r9,%r11
836 	or	%r10,%r7
837 	lr	%r11,%r6
838 	nr	%r10,%r8
839 	nr	%r11,%r7
840 	alr	%r9,%r12
841 	or	%r10,%r11
842 	rll	%r6,%r6,30
843 	alr	%r9,%r10
844 	xgr	%r14,%r2		### Xupdate(56)
845 	lg	%r2,136(%r15)
846 	xg	%r14,96(%r15)
847 	xgr	%r14,%r2
848 	rll	%r14,%r14,1
849 	rllg	%r12,%r14,32
850 	rll	%r12,%r12,1
851 	rllg	%r14,%r12,32
852 	lr	%r13,%r12		# feedback
853 	stg	%r14,128(%r15)
854 	alr	%r8,%r1		### 56
855 	rll	%r11,%r9,5
856 	lr	%r10,%r5
857 	alr	%r8,%r11
858 	or	%r10,%r6
859 	lr	%r11,%r5
860 	nr	%r10,%r7
861 	nr	%r11,%r6
862 	alr	%r8,%r12
863 	or	%r10,%r11
864 	rll	%r5,%r5,30
865 	alr	%r8,%r10
866 	alr	%r7,%r1		### 57
867 	rll	%r11,%r8,5
868 	lr	%r10,%r9
869 	alr	%r7,%r11
870 	or	%r10,%r5
871 	lr	%r11,%r9
872 	nr	%r10,%r6
873 	nr	%r11,%r5
874 	alr	%r7,%r14
875 	or	%r10,%r11
876 	rll	%r9,%r9,30
877 	alr	%r7,%r10
878 	xgr	%r13,%r2		### Xupdate(58)
879 	lg	%r2,144(%r15)
880 	xg	%r13,104(%r15)
881 	xgr	%r13,%r2
882 	rll	%r13,%r13,1
883 	rllg	%r14,%r13,32
884 	rll	%r14,%r14,1
885 	rllg	%r13,%r14,32
886 	lr	%r12,%r14		# feedback
887 	stg	%r13,136(%r15)
888 	alr	%r6,%r1		### 58
889 	rll	%r11,%r7,5
890 	lr	%r10,%r8
891 	alr	%r6,%r11
892 	or	%r10,%r9
893 	lr	%r11,%r8
894 	nr	%r10,%r5
895 	nr	%r11,%r9
896 	alr	%r6,%r14
897 	or	%r10,%r11
898 	rll	%r8,%r8,30
899 	alr	%r6,%r10
900 	alr	%r5,%r1		### 59
901 	rll	%r11,%r6,5
902 	lr	%r10,%r7
903 	alr	%r5,%r11
904 	or	%r10,%r8
905 	lr	%r11,%r7
906 	nr	%r10,%r9
907 	nr	%r11,%r8
908 	alr	%r5,%r13
909 	or	%r10,%r11
910 	rll	%r7,%r7,30
911 	alr	%r5,%r10
912 	rllg	%r1,%r1,32
913 	xgr	%r12,%r2		### Xupdate(60)
914 	lg	%r2,152(%r15)
915 	xg	%r12,112(%r15)
916 	xgr	%r12,%r2
917 	rll	%r12,%r12,1
918 	rllg	%r13,%r12,32
919 	rll	%r13,%r13,1
920 	rllg	%r12,%r13,32
921 	lr	%r14,%r13		# feedback
922 	stg	%r12,144(%r15)
923 	alr	%r9,%r1		### 60
924 	rll	%r11,%r5,5
925 	lr	%r10,%r6
926 	alr	%r9,%r11
927 	xr	%r10,%r7
928 	alr	%r9,%r13
929 	xr	%r10,%r8
930 	rll	%r6,%r6,30
931 	alr	%r9,%r10
932 	alr	%r8,%r1		### 61
933 	rll	%r11,%r9,5
934 	lr	%r10,%r5
935 	alr	%r8,%r11
936 	xr	%r10,%r6
937 	alr	%r8,%r12
938 	xr	%r10,%r7
939 	rll	%r5,%r5,30
940 	alr	%r8,%r10
941 	xgr	%r14,%r2		### Xupdate(62)
942 	lg	%r2,96(%r15)
943 	xg	%r14,120(%r15)
944 	xgr	%r14,%r2
945 	rll	%r14,%r14,1
946 	rllg	%r12,%r14,32
947 	rll	%r12,%r12,1
948 	rllg	%r14,%r12,32
949 	lr	%r13,%r12		# feedback
950 	stg	%r14,152(%r15)
951 	alr	%r7,%r1		### 62
952 	rll	%r11,%r8,5
953 	lr	%r10,%r9
954 	alr	%r7,%r11
955 	xr	%r10,%r5
956 	alr	%r7,%r12
957 	xr	%r10,%r6
958 	rll	%r9,%r9,30
959 	alr	%r7,%r10
960 	alr	%r6,%r1		### 63
961 	rll	%r11,%r7,5
962 	lr	%r10,%r8
963 	alr	%r6,%r11
964 	xr	%r10,%r9
965 	alr	%r6,%r14
966 	xr	%r10,%r5
967 	rll	%r8,%r8,30
968 	alr	%r6,%r10
969 	xgr	%r13,%r2		### Xupdate(64)
970 	lg	%r2,104(%r15)
971 	xg	%r13,128(%r15)
972 	xgr	%r13,%r2
973 	rll	%r13,%r13,1
974 	rllg	%r14,%r13,32
975 	rll	%r14,%r14,1
976 	rllg	%r13,%r14,32
977 	lr	%r12,%r14		# feedback
978 	stg	%r13,96(%r15)
979 	alr	%r5,%r1		### 64
980 	rll	%r11,%r6,5
981 	lr	%r10,%r7
982 	alr	%r5,%r11
983 	xr	%r10,%r8
984 	alr	%r5,%r14
985 	xr	%r10,%r9
986 	rll	%r7,%r7,30
987 	alr	%r5,%r10
988 	alr	%r9,%r1		### 65
989 	rll	%r11,%r5,5
990 	lr	%r10,%r6
991 	alr	%r9,%r11
992 	xr	%r10,%r7
993 	alr	%r9,%r13
994 	xr	%r10,%r8
995 	rll	%r6,%r6,30
996 	alr	%r9,%r10
997 	xgr	%r12,%r2		### Xupdate(66)
998 	lg	%r2,112(%r15)
999 	xg	%r12,136(%r15)
1000 	xgr	%r12,%r2
1001 	rll	%r12,%r12,1
1002 	rllg	%r13,%r12,32
1003 	rll	%r13,%r13,1
1004 	rllg	%r12,%r13,32
1005 	lr	%r14,%r13		# feedback
1006 	stg	%r12,104(%r15)
1007 	alr	%r8,%r1		### 66
1008 	rll	%r11,%r9,5
1009 	lr	%r10,%r5
1010 	alr	%r8,%r11
1011 	xr	%r10,%r6
1012 	alr	%r8,%r13
1013 	xr	%r10,%r7
1014 	rll	%r5,%r5,30
1015 	alr	%r8,%r10
1016 	alr	%r7,%r1		### 67
1017 	rll	%r11,%r8,5
1018 	lr	%r10,%r9
1019 	alr	%r7,%r11
1020 	xr	%r10,%r5
1021 	alr	%r7,%r12
1022 	xr	%r10,%r6
1023 	rll	%r9,%r9,30
1024 	alr	%r7,%r10
1025 	xgr	%r14,%r2		### Xupdate(68)
1026 	lg	%r2,120(%r15)
1027 	xg	%r14,144(%r15)
1028 	xgr	%r14,%r2
1029 	rll	%r14,%r14,1
1030 	rllg	%r12,%r14,32
1031 	rll	%r12,%r12,1
1032 	rllg	%r14,%r12,32
1033 	lr	%r13,%r12		# feedback
1034 	stg	%r14,112(%r15)
1035 	alr	%r6,%r1		### 68
1036 	rll	%r11,%r7,5
1037 	lr	%r10,%r8
1038 	alr	%r6,%r11
1039 	xr	%r10,%r9
1040 	alr	%r6,%r12
1041 	xr	%r10,%r5
1042 	rll	%r8,%r8,30
1043 	alr	%r6,%r10
1044 	alr	%r5,%r1		### 69
1045 	rll	%r11,%r6,5
1046 	lr	%r10,%r7
1047 	alr	%r5,%r11
1048 	xr	%r10,%r8
1049 	alr	%r5,%r14
1050 	xr	%r10,%r9
1051 	rll	%r7,%r7,30
1052 	alr	%r5,%r10
1053 	xgr	%r13,%r2		### Xupdate(70)
1054 	lg	%r2,128(%r15)
1055 	xg	%r13,152(%r15)
1056 	xgr	%r13,%r2
1057 	rll	%r13,%r13,1
1058 	rllg	%r14,%r13,32
1059 	rll	%r14,%r14,1
1060 	rllg	%r13,%r14,32
1061 	lr	%r12,%r14		# feedback
1062 	stg	%r13,120(%r15)
1063 	alr	%r9,%r1		### 70
1064 	rll	%r11,%r5,5
1065 	lr	%r10,%r6
1066 	alr	%r9,%r11
1067 	xr	%r10,%r7
1068 	alr	%r9,%r14
1069 	xr	%r10,%r8
1070 	rll	%r6,%r6,30
1071 	alr	%r9,%r10
1072 	alr	%r8,%r1		### 71
1073 	rll	%r11,%r9,5
1074 	lr	%r10,%r5
1075 	alr	%r8,%r11
1076 	xr	%r10,%r6
1077 	alr	%r8,%r13
1078 	xr	%r10,%r7
1079 	rll	%r5,%r5,30
1080 	alr	%r8,%r10
1081 	xgr	%r12,%r2		### Xupdate(72)
1082 	lg	%r2,136(%r15)
1083 	xg	%r12,96(%r15)
1084 	xgr	%r12,%r2
1085 	rll	%r12,%r12,1
1086 	rllg	%r13,%r12,32
1087 	rll	%r13,%r13,1
1088 	rllg	%r12,%r13,32
1089 	lr	%r14,%r13		# feedback
1090 	alr	%r7,%r1		### 72
1091 	rll	%r11,%r8,5
1092 	lr	%r10,%r9
1093 	alr	%r7,%r11
1094 	xr	%r10,%r5
1095 	alr	%r7,%r13
1096 	xr	%r10,%r6
1097 	rll	%r9,%r9,30
1098 	alr	%r7,%r10
1099 	alr	%r6,%r1		### 73
1100 	rll	%r11,%r7,5
1101 	lr	%r10,%r8
1102 	alr	%r6,%r11
1103 	xr	%r10,%r9
1104 	alr	%r6,%r12
1105 	xr	%r10,%r5
1106 	rll	%r8,%r8,30
1107 	alr	%r6,%r10
1108 	xgr	%r14,%r2		### Xupdate(74)
1109 	lg	%r2,144(%r15)
1110 	xg	%r14,104(%r15)
1111 	xgr	%r14,%r2
1112 	rll	%r14,%r14,1
1113 	rllg	%r12,%r14,32
1114 	rll	%r12,%r12,1
1115 	rllg	%r14,%r12,32
1116 	lr	%r13,%r12		# feedback
1117 	alr	%r5,%r1		### 74
1118 	rll	%r11,%r6,5
1119 	lr	%r10,%r7
1120 	alr	%r5,%r11
1121 	xr	%r10,%r8
1122 	alr	%r5,%r12
1123 	xr	%r10,%r9
1124 	rll	%r7,%r7,30
1125 	alr	%r5,%r10
1126 	alr	%r9,%r1		### 75
1127 	rll	%r11,%r5,5
1128 	lr	%r10,%r6
1129 	alr	%r9,%r11
1130 	xr	%r10,%r7
1131 	alr	%r9,%r14
1132 	xr	%r10,%r8
1133 	rll	%r6,%r6,30
1134 	alr	%r9,%r10
1135 	xgr	%r13,%r2		### Xupdate(76)
1136 	lg	%r2,152(%r15)
1137 	xg	%r13,112(%r15)
1138 	xgr	%r13,%r2
1139 	rll	%r13,%r13,1
1140 	rllg	%r14,%r13,32
1141 	rll	%r14,%r14,1
1142 	rllg	%r13,%r14,32
1143 	lr	%r12,%r14		# feedback
1144 	alr	%r8,%r1		### 76
1145 	rll	%r11,%r9,5
1146 	lr	%r10,%r5
1147 	alr	%r8,%r11
1148 	xr	%r10,%r6
1149 	alr	%r8,%r14
1150 	xr	%r10,%r7
1151 	rll	%r5,%r5,30
1152 	alr	%r8,%r10
1153 	alr	%r7,%r1		### 77
1154 	rll	%r11,%r8,5
1155 	lr	%r10,%r9
1156 	alr	%r7,%r11
1157 	xr	%r10,%r5
1158 	alr	%r7,%r13
1159 	xr	%r10,%r6
1160 	rll	%r9,%r9,30
1161 	alr	%r7,%r10
1162 	xgr	%r12,%r2		### Xupdate(78)
1163 	lg	%r2,96(%r15)
1164 	xg	%r12,120(%r15)
1165 	xgr	%r12,%r2
1166 	rll	%r12,%r12,1
1167 	rllg	%r13,%r12,32
1168 	rll	%r13,%r13,1
1169 	rllg	%r12,%r13,32
1170 	lr	%r14,%r13		# feedback
1171 	alr	%r6,%r1		### 78
1172 	rll	%r11,%r7,5
1173 	lr	%r10,%r8
1174 	alr	%r6,%r11
1175 	xr	%r10,%r9
1176 	alr	%r6,%r13
1177 	xr	%r10,%r5
1178 	rll	%r8,%r8,30
1179 	alr	%r6,%r10
1180 	alr	%r5,%r1		### 79
1181 	rll	%r11,%r6,5
1182 	lr	%r10,%r7
1183 	alr	%r5,%r11
1184 	xr	%r10,%r8
1185 	alr	%r5,%r12
1186 	xr	%r10,%r9
1187 	rll	%r7,%r7,30
1188 	alr	%r5,%r10
1189 
1190 	l	%r2,168(%r15)
1191 	la	%r3,64(%r3)
1192 	al	%r5,0(%r2)
1193 	al	%r6,4(%r2)
1194 	al	%r7,8(%r2)
1195 	al	%r8,12(%r2)
1196 	al	%r9,16(%r2)
1197 	st	%r5,0(%r2)
1198 	st	%r6,4(%r2)
1199 	st	%r7,8(%r2)
1200 	st	%r8,12(%r2)
1201 	st	%r9,16(%r2)
1202 	brct %r4,.Lloop
1203 
1204 	lm	%r6,%r15,184(%r15)
1205 	br	%r14
1206 .size	sha1_block_data_order,.-sha1_block_data_order
1207 .string	"SHA1 block transform for s390x, CRYPTOGAMS by <appro@openssl.org>"
1208