Lines Matching +full:1 +full:w
77 # W[t] + K[t] | W[t+1] + K[t+1]
86 # WK_2(t) points to 1 of 2 qwords at frame.WK depdending on t being odd/even
100 # W[t]+K[t] (stack frame)
131 add WK_2(idx), T1 # W[t] + K[t] from message scheduler
135 add h_64, T1 # T1 = CH(e,f,g) + W[t] + K[t] + h
137 add tmp0, T1 # T1 = CH(e,f,g) + W[t] + K[t] + S1(e)
156 # Compute rounds t-2 and t-1
157 # Compute message schedule QWORDS t and t+1
159 # Two rounds are computed based on the values for K[t-2]+W[t-2] and
160 # K[t-1]+W[t-1] which were previously stored at WK_2 by the message
162 # The two new schedule QWORDS are stored at [W_t(t)] and [W_t(t+1)].
164 # [K_t(t)] and [K_t(t+1)] and stored at dqword [WK_2(t)]
167 # Eg. XMM4=W[t-2] really means XMM4={W[t-2]|W[t-1]}
172 vmovdqa W_t(idx), %xmm4 # XMM4 = W[t-2]
174 vmovdqu W_t(idx), %xmm5 # XMM5 = W[t-15]
176 vpsrlq $61, %xmm4, %xmm0 # XMM0 = W[t-2]>>61
178 vpsrlq $1, %xmm5, %xmm6 # XMM6 = W[t-15]>>1
181 vpsrlq $19, %xmm4, %xmm1 # XMM1 = W[t-2]>>19
184 vpxor %xmm1, %xmm0, %xmm0 # XMM0 = W[t-2]>>61 ^ W[t-2]>>19
188 vpsrlq $8, %xmm5, %xmm7 # XMM7 = W[t-15]>>8
190 vpsrlq $6, %xmm4, %xmm2 # XMM2 = W[t-2]>>6
194 vpxor %xmm7, %xmm6, %xmm6 # XMM6 = W[t-15]>>1 ^ W[t-15]>>8
197 vpsrlq $7, %xmm5, %xmm8 # XMM8 = W[t-15]>>7
200 vpsllq $(64-61), %xmm4, %xmm3 # XMM3 = W[t-2]<<3
203 vpxor %xmm3, %xmm2, %xmm2 # XMM2 = W[t-2]>>6 ^ W[t-2]<<3
206 vpsllq $(64-1), %xmm5, %xmm9 # XMM9 = W[t-15]<<63
208 vpxor %xmm9, %xmm8, %xmm8 # XMM8 = W[t-15]>>7 ^ W[t-15]<<63
213 vpxor %xmm8, %xmm6, %xmm6 # XMM6 = W[t-15]>>1 ^ W[t-15]>>8 ^
214 # W[t-15]>>7 ^ W[t-15]<<63
217 vpsllq $(64-19), %xmm4, %xmm4 # XMM4 = W[t-2]<<25
220 vpxor %xmm4, %xmm0, %xmm0 # XMM0 = W[t-2]>>61 ^ W[t-2]>>19 ^
221 # W[t-2]<<25
223 vpxor %xmm2, %xmm0, %xmm0 # XMM0 = s1(W[t-2])
227 vpaddq W_t(idx), %xmm0, %xmm0 # XMM0 = s1(W[t-2]) + W[t-16]
229 vmovdqu W_t(idx), %xmm1 # XMM1 = W[t-7]
234 vpsllq $(64-8), %xmm5, %xmm5 # XMM5 = W[t-15]<<56
235 idx = \rnd + 1
237 vpxor %xmm5, %xmm6, %xmm6 # XMM6 = s0(W[t-15])
239 vpaddq %xmm6, %xmm0, %xmm0 # XMM0 = s1(W[t-2]) + W[t-16] + s0(W[t-15])
241 vpaddq %xmm1, %xmm0, %xmm0 # XMM0 = W[t] = s1(W[t-2]) + W[t-7] +
242 # s0(W[t-15]) + W[t-16]
248 vmovdqa %xmm0, W_t(idx) # Store W[t]
249 vpaddq K_t(idx), %xmm0, %xmm0 # Compute W[t]+K[t]
250 vmovdqa %xmm0, WK_2(idx) # Store W[t]+K[t] for next rounds
291 and $~(0x20 - 1), %rsp
297 mov DIGEST(1), b_64
306 .rept 80/2 + 1
307 # (80 rounds) / (2 rounds/iteration) + (1 iteration)
308 # +1 iteration because the scheduler leads hashing by 1 iteration
315 vpaddq K_t(t), %xmm0, %xmm0 # Compute W[t]+K[t]
323 vpaddq K_t(t), %xmm0, %xmm0 # Compute W[t]+K[t]
324 SHA512_Round t-1 # Round t-1
325 vmovdqa %xmm0, WK_2(t)# Store W[t]+K[t] into WK
332 SHA512_Round t-1
339 add b_64, DIGEST(1)