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