Lines Matching full:xmm0
170 ## AES-encrypt %xmm0.
173 ## %xmm0 = input
177 ## Output in %xmm0
186 &pandn ("xmm1","xmm0");
187 &pand ("xmm0","xmm6");
189 &pshufb ("xmm2","xmm0");
190 &movdqa ("xmm0",&QWP($k_ipt+16,$const));
194 &pshufb ("xmm0","xmm1");
196 &pxor ("xmm0","xmm2");
203 &movdqa ("xmm0",&QWP($k_sb1+16,$const));# 0 : sb1t
205 &pshufb ("xmm0","xmm3"); # 0 = sb1t
208 &pxor ("xmm0","xmm4"); # 0 = A
214 &movdqa ("xmm3","xmm0"); # 3 = A
216 &pshufb ("xmm0","xmm1"); # 0 = B
218 &pxor ("xmm0","xmm2"); # 0 = 2A+B
221 &pxor ("xmm3","xmm0"); # 3 = 2A+B+D
222 &pshufb ("xmm0","xmm1"); # 0 = 2B+C
225 &pxor ("xmm0","xmm3"); # 0 = 2A+3B+C+D
231 &pandn ("xmm1","xmm0"); # 1 = i<<4
233 &pand ("xmm0","xmm6"); # 0 = k
234 &pshufb ("xmm5","xmm0"); # 2 = a/k
236 &pxor ("xmm0","xmm1"); # 0 = j
240 &pshufb ("xmm4","xmm0"); # 4 = 1/j
245 &pxor ("xmm2","xmm0"); # 2 = io
253 &movdqa ("xmm0",&QWP($k_sbo+16,$const));# 3 : sbot .Lk_sbo+16
256 &pshufb ("xmm0","xmm3"); # 0 = sb1t
258 &pxor ("xmm0","xmm4"); # 0 = A
259 &pshufb ("xmm0","xmm1");
273 &pandn ("xmm1","xmm0");
278 &pand ("xmm0","xmm6");
279 &pshufb ("xmm2","xmm0");
280 &movdqa ("xmm0",&QWP($k_dipt-$k_dsbd+16,$base));
282 &pshufb ("xmm0","xmm1");
286 &pxor ("xmm0","xmm2");
299 &pxor ("xmm0","xmm4");
301 &pxor ("xmm0","xmm1"); # 0 = ch
305 &pshufb ("xmm0","xmm5"); # MC ch
307 &pxor ("xmm0","xmm4"); # 4 = ch
309 &pxor ("xmm0","xmm1"); # 0 = ch
313 &pshufb ("xmm0","xmm5"); # MC ch
315 &pxor ("xmm0","xmm4"); # 4 = ch
317 &pxor ("xmm0","xmm1"); # 0 = ch
321 &pshufb ("xmm0","xmm5"); # MC ch
323 &pxor ("xmm0","xmm4"); # 4 = ch
326 &pxor ("xmm0","xmm1"); # 0 = ch
333 &pandn ("xmm1","xmm0"); # 1 = i<<4
334 &pand ("xmm0","xmm6"); # 0 = k
336 &pshufb ("xmm2","xmm0"); # 2 = a/k
338 &pxor ("xmm0","xmm1"); # 0 = j
342 &pshufb ("xmm4","xmm0"); # 4 = 1/j
347 &pxor ("xmm2","xmm0"); # 2 = io
349 &movdqu ("xmm0",&QWP(0,$key));
356 &pxor ("xmm4","xmm0"); # 4 = sb1u + k
357 &movdqa ("xmm0",&QWP(0x70,$base)); # 0 : sbot
359 &pshufb ("xmm0","xmm3"); # 0 = sb1t
360 &pxor ("xmm0","xmm4"); # 0 = A
361 &pshufb ("xmm0","xmm2");
372 &movdqu ("xmm0",&QWP(0,$inp)); # load key (unaligned)
376 &movdqa ("xmm3","xmm0");
380 &movdqa ("xmm7","xmm0");
386 &movdqu (&QWP(0,$key),"xmm0");
436 &movdqu ("xmm0",&QWP(8,$inp)); # load key part 2 (very unaligned)
438 &movdqa ("xmm6","xmm0"); # save short part
445 &palignr("xmm0","xmm6",8);
467 &movdqu ("xmm0",&QWP(16,$inp)); # load key part 2 (unaligned)
473 &movdqa ("xmm6","xmm0"); # save cur_lo in xmm6
482 &pshufd ("xmm0","xmm0",0xFF);
494 ## Mangles %xmm0
495 ## when encrypting, outputs out(%xmm0) ^ 63
496 ## when decrypting, outputs unskew(%xmm0)
501 # schedule last round key from xmm0
508 &pshufb ("xmm0","xmm1"); # output permute
514 &pxor ("xmm0",&QWP($k_s63,$const));
516 &movdqu (&QWP(0,$key),"xmm0"); # save last key
519 &pxor ("xmm0","xmm0");
542 ## %xmm0: b+c+d b+c b a
546 &pshufd ("xmm0","xmm7",0xFE); # b a _ _ -> b b b a
549 &pxor ("xmm6","xmm0"); # -> b+c+d b+c b a
550 &movdqa ("xmm0","xmm6");
558 ## Runs one main round of the key schedule on %xmm0, %xmm7
560 ## Specifically, runs subbytes on the high dword of %xmm0
570 ## Returns results in %xmm7 = %xmm0.
582 &pshufd ("xmm0","xmm0",0xFF);
583 &palignr("xmm0","xmm0",1);
603 &pandn ("xmm1","xmm0");
605 &pand ("xmm0","xmm4"); # 0 = k
607 &pshufb ("xmm2","xmm0"); # 2 = a/k
608 &pxor ("xmm0","xmm1"); # 0 = j
613 &pshufb ("xmm4","xmm0"); # 4 = 1/j
617 &pxor ("xmm2","xmm0"); # 2 = io
623 &movdqa ("xmm0",&QWP($k_sb1+16,$const));# 0 : sbot
624 &pshufb ("xmm0","xmm3"); # 0 = sb1t
625 &pxor ("xmm0","xmm4"); # 0 = sbox output
628 &pxor ("xmm0","xmm7");
629 &movdqa ("xmm7","xmm0");
636 ## Linear-transform %xmm0 according to tables at (%ebx)
638 ## Output in %xmm0
644 &pandn ("xmm1","xmm0");
646 &pand ("xmm0","xmm2");
648 &pshufb ("xmm2","xmm0");
649 &movdqa ("xmm0",&QWP(16,$base));
650 &pshufb ("xmm0","xmm1");
651 &pxor ("xmm0","xmm2");
658 ## Mangle xmm0 from (basis-transformed) standard version
675 ## Preserves xmm0
679 &movdqa ("xmm4","xmm0"); # save xmm0 for later
815 &movdqu ("xmm0",&QWP(0,$inp));
817 &movdqu (&QWP(0,$out),"xmm0");
834 &movdqu ("xmm0",&QWP(0,$inp));
836 &movdqu (&QWP(0,$out),"xmm0");
870 &movdqu ("xmm0",&QWP(0,$inp)); # load input
871 &pxor ("xmm0","xmm1"); # inp^=iv
875 &movdqa ("xmm1","xmm0");
876 &movdqu (&QWP(0,$base,$inp),"xmm0"); # write output
883 &movdqu ("xmm0",&QWP(0,$inp)); # load input
885 &movdqa (&QWP(32,"esp"),"xmm0"); # save future IV
889 &pxor ("xmm0",&QWP(16,"esp")); # out^=iv
891 &movdqu (&QWP(0,$base,$inp),"xmm0"); # write output