draconisplusplus/subprojects/openssl-3.0.8/generated-config/archs/linux64-s390x/asm/crypto/sha/sha256-s390x.S

1243 lines
26 KiB
ArmAsm
Raw Normal View History

2025-02-20 14:49:18 -05:00
#include "s390x_arch.h"
.text
.align 64
.type K256,@object
K256:
.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
.size K256,.-K256
.globl sha256_block_data_order
.type sha256_block_data_order,@function
sha256_block_data_order:
sllg %r4,%r4,6
larl %r1,OPENSSL_s390xcap_P
lg %r0,S390X_KIMD(%r1) # check kimd capabilities
tmhh %r0,8192
jz .Lsoftware
lghi %r0,2
lgr %r1,%r2
lgr %r2,%r3
lgr %r3,%r4
.long 0xb93e0002 # kimd %r0,%r2
brc 1,.-4 # pay attention to "partial completion"
br %r14
.align 16
.Lsoftware:
lghi %r1,-224
la %r4,0(%r4,%r3)
stmg %r2,%r15,16(%r15)
lgr %r0,%r15
la %r15,0(%r1,%r15)
stg %r0,0(%r15)
larl %r13,K256
llgf %r5,0(%r2)
llgf %r6,4(%r2)
llgf %r7,8(%r2)
llgf %r8,12(%r2)
llgf %r9,16(%r2)
llgf %r10,20(%r2)
llgf %r11,24(%r2)
llgf %r12,28(%r2)
.Lloop:
lghi %r4,0
llgf %r14,0(%r3) ### 0
rll %r0,%r9,7
rll %r1,%r9,21
lgr %r2,%r10
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r11
st %r14,160(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r12 # T1+=h
ngr %r2,%r9
lgr %r1,%r5
algr %r14,%r0 # T1+=Sigma1(e)
rll %r12,%r5,10
xgr %r2,%r11 # Ch(e,f,g)
al %r14,0(%r4,%r13) # T1+=K[i]
rll %r0,%r5,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r6
xgr %r12,%r0
lgr %r2,%r5
ngr %r1,%r7
rll %r0,%r0,11
xgr %r12,%r0 # h=Sigma0(a)
ngr %r2,%r6
algr %r12,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r8,%r14 # d+=T1
algr %r12,%r2 # h+=Maj(a,b,c)
llgf %r14,4(%r3) ### 1
rll %r0,%r8,7
rll %r1,%r8,21
lgr %r2,%r9
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r10
st %r14,164(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r11 # T1+=h
ngr %r2,%r8
lgr %r1,%r12
algr %r14,%r0 # T1+=Sigma1(e)
rll %r11,%r12,10
xgr %r2,%r10 # Ch(e,f,g)
al %r14,4(%r4,%r13) # T1+=K[i]
rll %r0,%r12,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r5
xgr %r11,%r0
lgr %r2,%r12
ngr %r1,%r6
rll %r0,%r0,11
xgr %r11,%r0 # h=Sigma0(a)
ngr %r2,%r5
algr %r11,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r7,%r14 # d+=T1
algr %r11,%r2 # h+=Maj(a,b,c)
llgf %r14,8(%r3) ### 2
rll %r0,%r7,7
rll %r1,%r7,21
lgr %r2,%r8
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r9
st %r14,168(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r10 # T1+=h
ngr %r2,%r7
lgr %r1,%r11
algr %r14,%r0 # T1+=Sigma1(e)
rll %r10,%r11,10
xgr %r2,%r9 # Ch(e,f,g)
al %r14,8(%r4,%r13) # T1+=K[i]
rll %r0,%r11,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r12
xgr %r10,%r0
lgr %r2,%r11
ngr %r1,%r5
rll %r0,%r0,11
xgr %r10,%r0 # h=Sigma0(a)
ngr %r2,%r12
algr %r10,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r6,%r14 # d+=T1
algr %r10,%r2 # h+=Maj(a,b,c)
llgf %r14,12(%r3) ### 3
rll %r0,%r6,7
rll %r1,%r6,21
lgr %r2,%r7
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r8
st %r14,172(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r9 # T1+=h
ngr %r2,%r6
lgr %r1,%r10
algr %r14,%r0 # T1+=Sigma1(e)
rll %r9,%r10,10
xgr %r2,%r8 # Ch(e,f,g)
al %r14,12(%r4,%r13) # T1+=K[i]
rll %r0,%r10,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r11
xgr %r9,%r0
lgr %r2,%r10
ngr %r1,%r12
rll %r0,%r0,11
xgr %r9,%r0 # h=Sigma0(a)
ngr %r2,%r11
algr %r9,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r5,%r14 # d+=T1
algr %r9,%r2 # h+=Maj(a,b,c)
llgf %r14,16(%r3) ### 4
rll %r0,%r5,7
rll %r1,%r5,21
lgr %r2,%r6
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r7
st %r14,176(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r8 # T1+=h
ngr %r2,%r5
lgr %r1,%r9
algr %r14,%r0 # T1+=Sigma1(e)
rll %r8,%r9,10
xgr %r2,%r7 # Ch(e,f,g)
al %r14,16(%r4,%r13) # T1+=K[i]
rll %r0,%r9,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r10
xgr %r8,%r0
lgr %r2,%r9
ngr %r1,%r11
rll %r0,%r0,11
xgr %r8,%r0 # h=Sigma0(a)
ngr %r2,%r10
algr %r8,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r12,%r14 # d+=T1
algr %r8,%r2 # h+=Maj(a,b,c)
llgf %r14,20(%r3) ### 5
rll %r0,%r12,7
rll %r1,%r12,21
lgr %r2,%r5
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r6
st %r14,180(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r7 # T1+=h
ngr %r2,%r12
lgr %r1,%r8
algr %r14,%r0 # T1+=Sigma1(e)
rll %r7,%r8,10
xgr %r2,%r6 # Ch(e,f,g)
al %r14,20(%r4,%r13) # T1+=K[i]
rll %r0,%r8,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r9
xgr %r7,%r0
lgr %r2,%r8
ngr %r1,%r10
rll %r0,%r0,11
xgr %r7,%r0 # h=Sigma0(a)
ngr %r2,%r9
algr %r7,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r11,%r14 # d+=T1
algr %r7,%r2 # h+=Maj(a,b,c)
llgf %r14,24(%r3) ### 6
rll %r0,%r11,7
rll %r1,%r11,21
lgr %r2,%r12
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r5
st %r14,184(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r6 # T1+=h
ngr %r2,%r11
lgr %r1,%r7
algr %r14,%r0 # T1+=Sigma1(e)
rll %r6,%r7,10
xgr %r2,%r5 # Ch(e,f,g)
al %r14,24(%r4,%r13) # T1+=K[i]
rll %r0,%r7,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r8
xgr %r6,%r0
lgr %r2,%r7
ngr %r1,%r9
rll %r0,%r0,11
xgr %r6,%r0 # h=Sigma0(a)
ngr %r2,%r8
algr %r6,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r10,%r14 # d+=T1
algr %r6,%r2 # h+=Maj(a,b,c)
llgf %r14,28(%r3) ### 7
rll %r0,%r10,7
rll %r1,%r10,21
lgr %r2,%r11
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r12
st %r14,188(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r5 # T1+=h
ngr %r2,%r10
lgr %r1,%r6
algr %r14,%r0 # T1+=Sigma1(e)
rll %r5,%r6,10
xgr %r2,%r12 # Ch(e,f,g)
al %r14,28(%r4,%r13) # T1+=K[i]
rll %r0,%r6,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r7
xgr %r5,%r0
lgr %r2,%r6
ngr %r1,%r8
rll %r0,%r0,11
xgr %r5,%r0 # h=Sigma0(a)
ngr %r2,%r7
algr %r5,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r9,%r14 # d+=T1
algr %r5,%r2 # h+=Maj(a,b,c)
llgf %r14,32(%r3) ### 8
rll %r0,%r9,7
rll %r1,%r9,21
lgr %r2,%r10
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r11
st %r14,192(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r12 # T1+=h
ngr %r2,%r9
lgr %r1,%r5
algr %r14,%r0 # T1+=Sigma1(e)
rll %r12,%r5,10
xgr %r2,%r11 # Ch(e,f,g)
al %r14,32(%r4,%r13) # T1+=K[i]
rll %r0,%r5,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r6
xgr %r12,%r0
lgr %r2,%r5
ngr %r1,%r7
rll %r0,%r0,11
xgr %r12,%r0 # h=Sigma0(a)
ngr %r2,%r6
algr %r12,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r8,%r14 # d+=T1
algr %r12,%r2 # h+=Maj(a,b,c)
llgf %r14,36(%r3) ### 9
rll %r0,%r8,7
rll %r1,%r8,21
lgr %r2,%r9
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r10
st %r14,196(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r11 # T1+=h
ngr %r2,%r8
lgr %r1,%r12
algr %r14,%r0 # T1+=Sigma1(e)
rll %r11,%r12,10
xgr %r2,%r10 # Ch(e,f,g)
al %r14,36(%r4,%r13) # T1+=K[i]
rll %r0,%r12,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r5
xgr %r11,%r0
lgr %r2,%r12
ngr %r1,%r6
rll %r0,%r0,11
xgr %r11,%r0 # h=Sigma0(a)
ngr %r2,%r5
algr %r11,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r7,%r14 # d+=T1
algr %r11,%r2 # h+=Maj(a,b,c)
llgf %r14,40(%r3) ### 10
rll %r0,%r7,7
rll %r1,%r7,21
lgr %r2,%r8
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r9
st %r14,200(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r10 # T1+=h
ngr %r2,%r7
lgr %r1,%r11
algr %r14,%r0 # T1+=Sigma1(e)
rll %r10,%r11,10
xgr %r2,%r9 # Ch(e,f,g)
al %r14,40(%r4,%r13) # T1+=K[i]
rll %r0,%r11,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r12
xgr %r10,%r0
lgr %r2,%r11
ngr %r1,%r5
rll %r0,%r0,11
xgr %r10,%r0 # h=Sigma0(a)
ngr %r2,%r12
algr %r10,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r6,%r14 # d+=T1
algr %r10,%r2 # h+=Maj(a,b,c)
llgf %r14,44(%r3) ### 11
rll %r0,%r6,7
rll %r1,%r6,21
lgr %r2,%r7
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r8
st %r14,204(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r9 # T1+=h
ngr %r2,%r6
lgr %r1,%r10
algr %r14,%r0 # T1+=Sigma1(e)
rll %r9,%r10,10
xgr %r2,%r8 # Ch(e,f,g)
al %r14,44(%r4,%r13) # T1+=K[i]
rll %r0,%r10,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r11
xgr %r9,%r0
lgr %r2,%r10
ngr %r1,%r12
rll %r0,%r0,11
xgr %r9,%r0 # h=Sigma0(a)
ngr %r2,%r11
algr %r9,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r5,%r14 # d+=T1
algr %r9,%r2 # h+=Maj(a,b,c)
llgf %r14,48(%r3) ### 12
rll %r0,%r5,7
rll %r1,%r5,21
lgr %r2,%r6
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r7
st %r14,208(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r8 # T1+=h
ngr %r2,%r5
lgr %r1,%r9
algr %r14,%r0 # T1+=Sigma1(e)
rll %r8,%r9,10
xgr %r2,%r7 # Ch(e,f,g)
al %r14,48(%r4,%r13) # T1+=K[i]
rll %r0,%r9,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r10
xgr %r8,%r0
lgr %r2,%r9
ngr %r1,%r11
rll %r0,%r0,11
xgr %r8,%r0 # h=Sigma0(a)
ngr %r2,%r10
algr %r8,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r12,%r14 # d+=T1
algr %r8,%r2 # h+=Maj(a,b,c)
llgf %r14,52(%r3) ### 13
rll %r0,%r12,7
rll %r1,%r12,21
lgr %r2,%r5
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r6
st %r14,212(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r7 # T1+=h
ngr %r2,%r12
lgr %r1,%r8
algr %r14,%r0 # T1+=Sigma1(e)
rll %r7,%r8,10
xgr %r2,%r6 # Ch(e,f,g)
al %r14,52(%r4,%r13) # T1+=K[i]
rll %r0,%r8,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r9
xgr %r7,%r0
lgr %r2,%r8
ngr %r1,%r10
rll %r0,%r0,11
xgr %r7,%r0 # h=Sigma0(a)
ngr %r2,%r9
algr %r7,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r11,%r14 # d+=T1
algr %r7,%r2 # h+=Maj(a,b,c)
llgf %r14,56(%r3) ### 14
rll %r0,%r11,7
rll %r1,%r11,21
lgr %r2,%r12
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r5
st %r14,216(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r6 # T1+=h
ngr %r2,%r11
lgr %r1,%r7
algr %r14,%r0 # T1+=Sigma1(e)
rll %r6,%r7,10
xgr %r2,%r5 # Ch(e,f,g)
al %r14,56(%r4,%r13) # T1+=K[i]
rll %r0,%r7,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r8
xgr %r6,%r0
lgr %r2,%r7
ngr %r1,%r9
rll %r0,%r0,11
xgr %r6,%r0 # h=Sigma0(a)
ngr %r2,%r8
algr %r6,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r10,%r14 # d+=T1
algr %r6,%r2 # h+=Maj(a,b,c)
llgf %r14,60(%r3) ### 15
rll %r0,%r10,7
rll %r1,%r10,21
lgr %r2,%r11
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r12
st %r14,220(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r5 # T1+=h
ngr %r2,%r10
lgr %r1,%r6
algr %r14,%r0 # T1+=Sigma1(e)
rll %r5,%r6,10
xgr %r2,%r12 # Ch(e,f,g)
al %r14,60(%r4,%r13) # T1+=K[i]
rll %r0,%r6,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r7
xgr %r5,%r0
lgr %r2,%r6
ngr %r1,%r8
rll %r0,%r0,11
xgr %r5,%r0 # h=Sigma0(a)
ngr %r2,%r7
algr %r5,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r9,%r14 # d+=T1
algr %r5,%r2 # h+=Maj(a,b,c)
.Lrounds_16_xx:
llgf %r14,164(%r15) ### 16
llgf %r1,216(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,160(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,196(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r9,7
rll %r1,%r9,21
lgr %r2,%r10
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r11
st %r14,160(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r12 # T1+=h
ngr %r2,%r9
lgr %r1,%r5
algr %r14,%r0 # T1+=Sigma1(e)
rll %r12,%r5,10
xgr %r2,%r11 # Ch(e,f,g)
al %r14,64(%r4,%r13) # T1+=K[i]
rll %r0,%r5,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r6
xgr %r12,%r0
lgr %r2,%r5
ngr %r1,%r7
rll %r0,%r0,11
xgr %r12,%r0 # h=Sigma0(a)
ngr %r2,%r6
algr %r12,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r8,%r14 # d+=T1
algr %r12,%r2 # h+=Maj(a,b,c)
llgf %r14,168(%r15) ### 17
llgf %r1,220(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,164(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,200(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r8,7
rll %r1,%r8,21
lgr %r2,%r9
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r10
st %r14,164(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r11 # T1+=h
ngr %r2,%r8
lgr %r1,%r12
algr %r14,%r0 # T1+=Sigma1(e)
rll %r11,%r12,10
xgr %r2,%r10 # Ch(e,f,g)
al %r14,68(%r4,%r13) # T1+=K[i]
rll %r0,%r12,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r5
xgr %r11,%r0
lgr %r2,%r12
ngr %r1,%r6
rll %r0,%r0,11
xgr %r11,%r0 # h=Sigma0(a)
ngr %r2,%r5
algr %r11,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r7,%r14 # d+=T1
algr %r11,%r2 # h+=Maj(a,b,c)
llgf %r14,172(%r15) ### 18
llgf %r1,160(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,168(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,204(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r7,7
rll %r1,%r7,21
lgr %r2,%r8
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r9
st %r14,168(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r10 # T1+=h
ngr %r2,%r7
lgr %r1,%r11
algr %r14,%r0 # T1+=Sigma1(e)
rll %r10,%r11,10
xgr %r2,%r9 # Ch(e,f,g)
al %r14,72(%r4,%r13) # T1+=K[i]
rll %r0,%r11,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r12
xgr %r10,%r0
lgr %r2,%r11
ngr %r1,%r5
rll %r0,%r0,11
xgr %r10,%r0 # h=Sigma0(a)
ngr %r2,%r12
algr %r10,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r6,%r14 # d+=T1
algr %r10,%r2 # h+=Maj(a,b,c)
llgf %r14,176(%r15) ### 19
llgf %r1,164(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,172(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,208(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r6,7
rll %r1,%r6,21
lgr %r2,%r7
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r8
st %r14,172(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r9 # T1+=h
ngr %r2,%r6
lgr %r1,%r10
algr %r14,%r0 # T1+=Sigma1(e)
rll %r9,%r10,10
xgr %r2,%r8 # Ch(e,f,g)
al %r14,76(%r4,%r13) # T1+=K[i]
rll %r0,%r10,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r11
xgr %r9,%r0
lgr %r2,%r10
ngr %r1,%r12
rll %r0,%r0,11
xgr %r9,%r0 # h=Sigma0(a)
ngr %r2,%r11
algr %r9,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r5,%r14 # d+=T1
algr %r9,%r2 # h+=Maj(a,b,c)
llgf %r14,180(%r15) ### 20
llgf %r1,168(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,176(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,212(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r5,7
rll %r1,%r5,21
lgr %r2,%r6
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r7
st %r14,176(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r8 # T1+=h
ngr %r2,%r5
lgr %r1,%r9
algr %r14,%r0 # T1+=Sigma1(e)
rll %r8,%r9,10
xgr %r2,%r7 # Ch(e,f,g)
al %r14,80(%r4,%r13) # T1+=K[i]
rll %r0,%r9,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r10
xgr %r8,%r0
lgr %r2,%r9
ngr %r1,%r11
rll %r0,%r0,11
xgr %r8,%r0 # h=Sigma0(a)
ngr %r2,%r10
algr %r8,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r12,%r14 # d+=T1
algr %r8,%r2 # h+=Maj(a,b,c)
llgf %r14,184(%r15) ### 21
llgf %r1,172(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,180(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,216(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r12,7
rll %r1,%r12,21
lgr %r2,%r5
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r6
st %r14,180(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r7 # T1+=h
ngr %r2,%r12
lgr %r1,%r8
algr %r14,%r0 # T1+=Sigma1(e)
rll %r7,%r8,10
xgr %r2,%r6 # Ch(e,f,g)
al %r14,84(%r4,%r13) # T1+=K[i]
rll %r0,%r8,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r9
xgr %r7,%r0
lgr %r2,%r8
ngr %r1,%r10
rll %r0,%r0,11
xgr %r7,%r0 # h=Sigma0(a)
ngr %r2,%r9
algr %r7,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r11,%r14 # d+=T1
algr %r7,%r2 # h+=Maj(a,b,c)
llgf %r14,188(%r15) ### 22
llgf %r1,176(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,184(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,220(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r11,7
rll %r1,%r11,21
lgr %r2,%r12
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r5
st %r14,184(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r6 # T1+=h
ngr %r2,%r11
lgr %r1,%r7
algr %r14,%r0 # T1+=Sigma1(e)
rll %r6,%r7,10
xgr %r2,%r5 # Ch(e,f,g)
al %r14,88(%r4,%r13) # T1+=K[i]
rll %r0,%r7,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r8
xgr %r6,%r0
lgr %r2,%r7
ngr %r1,%r9
rll %r0,%r0,11
xgr %r6,%r0 # h=Sigma0(a)
ngr %r2,%r8
algr %r6,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r10,%r14 # d+=T1
algr %r6,%r2 # h+=Maj(a,b,c)
llgf %r14,192(%r15) ### 23
llgf %r1,180(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,188(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,160(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r10,7
rll %r1,%r10,21
lgr %r2,%r11
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r12
st %r14,188(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r5 # T1+=h
ngr %r2,%r10
lgr %r1,%r6
algr %r14,%r0 # T1+=Sigma1(e)
rll %r5,%r6,10
xgr %r2,%r12 # Ch(e,f,g)
al %r14,92(%r4,%r13) # T1+=K[i]
rll %r0,%r6,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r7
xgr %r5,%r0
lgr %r2,%r6
ngr %r1,%r8
rll %r0,%r0,11
xgr %r5,%r0 # h=Sigma0(a)
ngr %r2,%r7
algr %r5,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r9,%r14 # d+=T1
algr %r5,%r2 # h+=Maj(a,b,c)
llgf %r14,196(%r15) ### 24
llgf %r1,184(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,192(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,164(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r9,7
rll %r1,%r9,21
lgr %r2,%r10
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r11
st %r14,192(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r12 # T1+=h
ngr %r2,%r9
lgr %r1,%r5
algr %r14,%r0 # T1+=Sigma1(e)
rll %r12,%r5,10
xgr %r2,%r11 # Ch(e,f,g)
al %r14,96(%r4,%r13) # T1+=K[i]
rll %r0,%r5,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r6
xgr %r12,%r0
lgr %r2,%r5
ngr %r1,%r7
rll %r0,%r0,11
xgr %r12,%r0 # h=Sigma0(a)
ngr %r2,%r6
algr %r12,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r8,%r14 # d+=T1
algr %r12,%r2 # h+=Maj(a,b,c)
llgf %r14,200(%r15) ### 25
llgf %r1,188(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,196(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,168(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r8,7
rll %r1,%r8,21
lgr %r2,%r9
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r10
st %r14,196(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r11 # T1+=h
ngr %r2,%r8
lgr %r1,%r12
algr %r14,%r0 # T1+=Sigma1(e)
rll %r11,%r12,10
xgr %r2,%r10 # Ch(e,f,g)
al %r14,100(%r4,%r13) # T1+=K[i]
rll %r0,%r12,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r5
xgr %r11,%r0
lgr %r2,%r12
ngr %r1,%r6
rll %r0,%r0,11
xgr %r11,%r0 # h=Sigma0(a)
ngr %r2,%r5
algr %r11,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r7,%r14 # d+=T1
algr %r11,%r2 # h+=Maj(a,b,c)
llgf %r14,204(%r15) ### 26
llgf %r1,192(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,200(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,172(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r7,7
rll %r1,%r7,21
lgr %r2,%r8
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r9
st %r14,200(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r10 # T1+=h
ngr %r2,%r7
lgr %r1,%r11
algr %r14,%r0 # T1+=Sigma1(e)
rll %r10,%r11,10
xgr %r2,%r9 # Ch(e,f,g)
al %r14,104(%r4,%r13) # T1+=K[i]
rll %r0,%r11,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r12
xgr %r10,%r0
lgr %r2,%r11
ngr %r1,%r5
rll %r0,%r0,11
xgr %r10,%r0 # h=Sigma0(a)
ngr %r2,%r12
algr %r10,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r6,%r14 # d+=T1
algr %r10,%r2 # h+=Maj(a,b,c)
llgf %r14,208(%r15) ### 27
llgf %r1,196(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,204(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,176(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r6,7
rll %r1,%r6,21
lgr %r2,%r7
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r8
st %r14,204(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r9 # T1+=h
ngr %r2,%r6
lgr %r1,%r10
algr %r14,%r0 # T1+=Sigma1(e)
rll %r9,%r10,10
xgr %r2,%r8 # Ch(e,f,g)
al %r14,108(%r4,%r13) # T1+=K[i]
rll %r0,%r10,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r11
xgr %r9,%r0
lgr %r2,%r10
ngr %r1,%r12
rll %r0,%r0,11
xgr %r9,%r0 # h=Sigma0(a)
ngr %r2,%r11
algr %r9,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r5,%r14 # d+=T1
algr %r9,%r2 # h+=Maj(a,b,c)
llgf %r14,212(%r15) ### 28
llgf %r1,200(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,208(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,180(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r5,7
rll %r1,%r5,21
lgr %r2,%r6
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r7
st %r14,208(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r8 # T1+=h
ngr %r2,%r5
lgr %r1,%r9
algr %r14,%r0 # T1+=Sigma1(e)
rll %r8,%r9,10
xgr %r2,%r7 # Ch(e,f,g)
al %r14,112(%r4,%r13) # T1+=K[i]
rll %r0,%r9,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r10
xgr %r8,%r0
lgr %r2,%r9
ngr %r1,%r11
rll %r0,%r0,11
xgr %r8,%r0 # h=Sigma0(a)
ngr %r2,%r10
algr %r8,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r12,%r14 # d+=T1
algr %r8,%r2 # h+=Maj(a,b,c)
llgf %r14,216(%r15) ### 29
llgf %r1,204(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,212(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,184(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r12,7
rll %r1,%r12,21
lgr %r2,%r5
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r6
st %r14,212(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r7 # T1+=h
ngr %r2,%r12
lgr %r1,%r8
algr %r14,%r0 # T1+=Sigma1(e)
rll %r7,%r8,10
xgr %r2,%r6 # Ch(e,f,g)
al %r14,116(%r4,%r13) # T1+=K[i]
rll %r0,%r8,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r9
xgr %r7,%r0
lgr %r2,%r8
ngr %r1,%r10
rll %r0,%r0,11
xgr %r7,%r0 # h=Sigma0(a)
ngr %r2,%r9
algr %r7,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r11,%r14 # d+=T1
algr %r7,%r2 # h+=Maj(a,b,c)
llgf %r14,220(%r15) ### 30
llgf %r1,208(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,216(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,188(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r11,7
rll %r1,%r11,21
lgr %r2,%r12
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r5
st %r14,216(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r6 # T1+=h
ngr %r2,%r11
lgr %r1,%r7
algr %r14,%r0 # T1+=Sigma1(e)
rll %r6,%r7,10
xgr %r2,%r5 # Ch(e,f,g)
al %r14,120(%r4,%r13) # T1+=K[i]
rll %r0,%r7,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r8
xgr %r6,%r0
lgr %r2,%r7
ngr %r1,%r9
rll %r0,%r0,11
xgr %r6,%r0 # h=Sigma0(a)
ngr %r2,%r8
algr %r6,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r10,%r14 # d+=T1
algr %r6,%r2 # h+=Maj(a,b,c)
llgf %r14,160(%r15) ### 31
llgf %r1,212(%r15)
rll %r0,%r14,14
srl %r14,3
rll %r2,%r0,11
xgr %r14,%r0
rll %r0,%r1,13
xgr %r14,%r2 # sigma0(X[i+1])
srl %r1,10
al %r14,220(%r15) # +=X[i]
xgr %r1,%r0
rll %r0,%r0,2
al %r14,192(%r15) # +=X[i+9]
xgr %r1,%r0 # sigma1(X[i+14])
algr %r14,%r1 # +=sigma1(X[i+14])
rll %r0,%r10,7
rll %r1,%r10,21
lgr %r2,%r11
xgr %r0,%r1
rll %r1,%r1,5
xgr %r2,%r12
st %r14,220(%r15)
xgr %r0,%r1 # Sigma1(e)
algr %r14,%r5 # T1+=h
ngr %r2,%r10
lgr %r1,%r6
algr %r14,%r0 # T1+=Sigma1(e)
rll %r5,%r6,10
xgr %r2,%r12 # Ch(e,f,g)
al %r14,124(%r4,%r13) # T1+=K[i]
rll %r0,%r6,19
algr %r14,%r2 # T1+=Ch(e,f,g)
ogr %r1,%r7
xgr %r5,%r0
lgr %r2,%r6
ngr %r1,%r8
rll %r0,%r0,11
xgr %r5,%r0 # h=Sigma0(a)
ngr %r2,%r7
algr %r5,%r14 # h+=T1
ogr %r2,%r1 # Maj(a,b,c)
algr %r9,%r14 # d+=T1
algr %r5,%r2 # h+=Maj(a,b,c)
aghi %r4,64
lghi %r0,192
clgr %r4,%r0
jne .Lrounds_16_xx
lg %r2,240(%r15)
la %r3,64(%r3)
al %r5,0(%r2)
al %r6,4(%r2)
al %r7,8(%r2)
al %r8,12(%r2)
al %r9,16(%r2)
al %r10,20(%r2)
al %r11,24(%r2)
al %r12,28(%r2)
st %r5,0(%r2)
st %r6,4(%r2)
st %r7,8(%r2)
st %r8,12(%r2)
st %r9,16(%r2)
st %r10,20(%r2)
st %r11,24(%r2)
st %r12,28(%r2)
clg %r3,256(%r15)
jne .Lloop
lmg %r6,%r15,272(%r15)
br %r14
.size sha256_block_data_order,.-sha256_block_data_order
.string "SHA256 block transform for s390x, CRYPTOGAMS by <appro@openssl.org>"