Lines Matching +full:2 +full:w

14 # General Public License (GPL) Version 2, available from the file
77 WK_SIZE = 2*8
85 # WK_2(t) points to 1 of 2 qwords at frame.WK depending on t being odd/even
99 # W[t]+K[t] (stack frame)
100 #define WK_2(i) 8*((i%2))+frame_WK(%rsp)
126 add WK_2(idx), T1 # W[t] + K[t] from message scheduler
130 add h_64, T1 # T1 = CH(e,f,g) + W[t] + K[t] + h
132 add tmp0, T1 # T1 = CH(e,f,g) + W[t] + K[t] + S1(e)
152 # Compute rounds t-2 and t-1
155 # Two rounds are computed based on the values for K[t-2]+W[t-2] and
156 # K[t-1]+W[t-1] which were previously stored at WK_2 by the message
163 # Eg. XMM2=W[t-2] really means XMM2={W[t-2]|W[t-1]}
171 idx = \rnd -2
172 movdqa W_t(idx), %xmm2 # XMM2 = W[t-2]
175 movdqa %xmm2, %xmm0 # XMM0 = W[t-2]
180 movdqu W_t(idx), %xmm5 # XMM5 = W[t-15]
183 movdqa %xmm5, %xmm3 # XMM3 = W[t-15]
186 psrlq $61-19, %xmm0 # XMM0 = W[t-2] >> 42
189 psrlq $(8-7), %xmm3 # XMM3 = W[t-15] >> 1
192 pxor %xmm2, %xmm0 # XMM0 = (W[t-2] >> 42) ^ W[t-2]
195 pxor %xmm5, %xmm3 # XMM3 = (W[t-15] >> 1) ^ W[t-15]
198 psrlq $(19-6), %xmm0 # XMM0 = ((W[t-2]>>42)^W[t-2])>>13
201 psrlq $(7-1), %xmm3 # XMM3 = ((W[t-15]>>1)^W[t-15])>>6
204 pxor %xmm2, %xmm0 # XMM0 = (((W[t-2]>>42)^W[t-2])>>13)^W[t-2]
207 pxor %xmm5, %xmm3 # XMM3 = (((W[t-15]>>1)^W[t-15])>>6)^W[t-15]
210 psrlq $6, %xmm0 # XMM0 = ((((W[t-2]>>42)^W[t-2])>>13)^W[t-2])>>6
213 psrlq $1, %xmm3 # XMM3 = (((W[t-15]>>1)^W[t-15])>>6)^W[t-15]>>1
216 movdqa %xmm2, %xmm1 # XMM1 = W[t-2]
219 movdqa %xmm5, %xmm4 # XMM4 = W[t-15]
222 psllq $(64-19)-(64-61) , %xmm1 # XMM1 = W[t-2] << 42
226 psllq $(64-1)-(64-8), %xmm4 # XMM4 = W[t-15] << 7
229 pxor %xmm2, %xmm1 # XMM1 = (W[t-2] << 42)^W[t-2]
232 pxor %xmm5, %xmm4 # XMM4 = (W[t-15]<<7)^W[t-15]
235 psllq $(64-61), %xmm1 # XMM1 = ((W[t-2] << 42)^W[t-2])<<3
238 psllq $(64-8), %xmm4 # XMM4 = ((W[t-15]<<7)^W[t-15])<<56
241 pxor %xmm1, %xmm0 # XMM0 = s1(W[t-2])
245 movdqu W_t(idx), %xmm1 # XMM1 = W[t-7]
247 pxor %xmm4, %xmm3 # XMM3 = s0(W[t-15])
249 paddq %xmm3, %xmm0 # XMM0 = s1(W[t-2]) + s0(W[t-15])
252 paddq W_t(idx), %xmm0 # XMM0 = s1(W[t-2]) + s0(W[t-15]) + W[t-16]
254 paddq %xmm1, %xmm0 # XMM0 = s1(W[t-2]) + W[t-7] + s0(W[t-15]) + W[t-16]
258 paddq K_t(\rnd), %xmm0 # Compute W[t]+K[t]
261 movdqa %xmm0, WK_2(idx) # Store W[t]+K[t] for next rounds
301 mov DIGEST(2), c_64
309 .rept 80/2 + 1
310 # (80 rounds) / (2 rounds/iteration) + (1 iteration)
312 .if t < 2
313 # BSWAP 2 QWORDS
318 paddq K_t(t), %xmm0 # Compute W[t]+K[t]
321 # BSWAP 2 QWORDS# Compute 2 Rounds
324 SHA512_Round t-2 # Round t-2
326 paddq K_t(t), %xmm0 # Compute W[t]+K[t]
328 movdqa %xmm0, WK_2(t) # Store W[t]+K[t] into WK
330 # Schedule 2 QWORDS# Compute 2 Rounds
333 # Compute 2 Rounds
334 SHA512_Round t-2
337 t = t+2
343 add c_64, DIGEST(2)