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