Lines Matching +full:2 +full:a

11 # This software is available to you under a choice of one of two
13 # General Public License (GPL) Version 2, available from the file
32 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
47 # This code schedules 1 block at a time, with 4 lanes per block
99 INP = %rsi # 2nd arg
107 a = %eax define
141 # Rotate values of symbols a...h
150 b = a
151 a = TMP_ define
155 ## compute s0 four at a time and s1 two at a time
156 ## compute W[-16] + W[-7] 4 at a time
160 mov a, y1 # y1 = a
162 MY_ROR (22-13), y1 # y1 = a >> (22-13)
166 xor a, y1 # y1 = a ^ (a >> (22-13)
171 MY_ROR (13-2), y1 # y1 = (a >> (13-2)) ^ (a >> (22-2))
174 xor a, y1 # y1 = a ^ (a >> (13-2)) ^ (a >> (22-2))
177 MY_ROR 2, y1 # y1 = S0 = (a>>2) ^ (a>>13) ^ (a>>22)
180 mov a, y0 # y0 = a
182 mov a, y2 # y2 = a
184 or c, y0 # y0 = a|c
186 and c, y2 # y2 = a&c
188 and b, y0 # y0 = (a|c)&b
191 or y2, y0 # y0 = MAJ = (a|c)&b)|(a&c)
195 mov a, y1 # y1 = a
199 MY_ROR (22-13), y1 # y1 = a >> (22-13)
201 xor a, y1 # y1 = a ^ (a >> (22-13)
205 MY_ROR (13-2), y1 # y1 = (a >> (13-2)) ^ (a >> (22-2))
210 xor a, y1 # y1 = a ^ (a >> (13-2)) ^ (a >> (22-2))
215 MY_ROR 2, y1 # y1 = S0 = (a>>2) ^ (a>>13) ^ (a>>22)
217 mov a, y0 # y0 = a
219 mov a, y2 # y2 = a
221 or c, y0 # y0 = a|c
223 and c, y2 # y2 = a&c
225 vpshufd $0b11111010, X3, XTMP2 # XTMP2 = W[-2] {BBAA}
226 and b, y0 # y0 = (a|c)&b
229 or y2, y0 # y0 = MAJ = (a|c)&b)|(a&c)
233 mov a, y1 # y1 = a
236 MY_ROR (22-13), y1 # y1 = a >> (22-13)
238 xor a, y1 # y1 = a ^ (a >> (22-13)
240 vpsrld $10, XTMP2, XTMP4 # XTMP4 = W[-2] >> 10 {BBAA}
242 vpsrlq $19, XTMP2, XTMP3 # XTMP3 = W[-2] MY_ROR 19 {xBxA}
245 vpsrlq $17, XTMP2, XTMP2 # XTMP2 = W[-2] MY_ROR 17 {xBxA}
246 MY_ROR (13-2), y1 # y1 = (a >> (13-2)) ^ (a >> (22-2))
247 xor a, y1 # y1 = a ^ (a >> (13-2)) ^ (a >> (22-2))
252 MY_ROR 2, y1 # y1 = S0 = (a>>2) ^ (a>>13) ^ (a>>22)
253 add (2*4 + _XFER)(%rsp), y2 # y2 = k + w + S1 + CH
255 mov a, y0 # y0 = a
257 mov a, y2 # y2 = a
259 or c, y0 # y0 = a|c
261 and c, y2 # y2 = a&c
263 and b, y0 # y0 = (a|c)&b
266 vpshufd $0b01010000, XTMP0, XTMP2 # XTMP2 = W[-2] {DDCC}
267 or y2, y0 # y0 = MAJ = (a|c)&b)|(a&c)
272 mov a, y1 # y1 = a
273 MY_ROR (22-13), y1 # y1 = a >> (22-13)
277 vpsrld $10, XTMP2, XTMP5 # XTMP5 = W[-2] >> 10 {DDCC}
278 xor a, y1 # y1 = a ^ (a >> (22-13)
280 vpsrlq $19, XTMP2, XTMP3 # XTMP3 = W[-2] MY_ROR 19 {xDxC}
283 MY_ROR (13-2), y1 # y1 = (a >> (13-2)) ^ (a >> (22-2))
284 vpsrlq $17, XTMP2, XTMP2 # XTMP2 = W[-2] MY_ROR 17 {xDxC}
285 xor a, y1 # y1 = a ^ (a >> (13-2)) ^ (a >> (22-2))
289 MY_ROR 2, y1 # y1 = S0 = (a>>2) ^ (a>>13) ^ (a>>22)
293 mov a, y0 # y0 = a
295 mov a, y2 # y2 = a
297 or c, y0 # y0 = a|c
299 and c, y2 # y2 = a&c
300 vpaddd XTMP0, XTMP5, X0 # X0 = {W[3], W[2], W[1], W[0]}
301 and b, y0 # y0 = (a|c)&b
303 or y2, y0 # y0 = MAJ = (a|c)&b)|(a&c)
313 mov a, y1 # y1 = a
315 MY_ROR (22-13), y1 # y1 = a >> (22-13)
317 xor a, y1 # y1 = a ^ (a >> (22-13)
321 MY_ROR (13-2), y1 # y1 = (a >> (13-2)) ^ (a >> (22-2))
323 xor a, y1 # y1 = a ^ (a >> (13-2)) ^ (a >> (22-2))
327 MY_ROR 2, y1 # y1 = S0 = (a>>2) ^ (a>>13) ^ (a>>22)
330 mov a, y0 # y0 = a
332 mov a, y2 # y2 = a
333 or c, y0 # y0 = a|c
335 and c, y2 # y2 = a&c
336 and b, y0 # y0 = (a|c)&b
338 or y2, y0 # y0 = MAJ = (a|c)&b)|(a&c)
346 ## arg 2 : pointer to input data
368 mov 4*0(CTX), a
370 mov 4*2(CTX), c
386 COPY_XMM_AND_BSWAP X2, 2*16(INP), BYTE_FLIP_MASK
403 vpaddd 2*16(TBL), X0, XFER
415 mov $2, SRND
421 DO_ROUND 2
426 add $2*16, TBL
429 DO_ROUND 2
438 addm (4*0)(CTX),a
440 addm (4*2)(CTX),c