1243 lines
26 KiB
ArmAsm
1243 lines
26 KiB
ArmAsm
|
#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>"
|