Home | History | Annotate | Download | only in asm

Lines Matching full:xmm0

169 ##  AES-encrypt %xmm0.
172 ## %xmm0 = input
176 ## Output in %xmm0
185 &pandn ("xmm1","xmm0");
188 &pand ("xmm0","xmm6");
189 &pshufb ("xmm2","xmm0");
190 &movdqa ("xmm0",&QWP($k_ipt+16,$const));
191 &pshufb ("xmm0","xmm1");
193 &pxor ("xmm0","xmm2");
204 &movdqa ("xmm0",&QWP($k_sb1+16,$const));# 0 : sb1t
205 &pshufb ("xmm0","xmm3"); # 0 = sb1t
206 &pxor ("xmm0","xmm4"); # 0 = A
214 &movdqa ("xmm3","xmm0"); # 3 = A
215 &pshufb ("xmm0","xmm1"); # 0 = B
217 &pxor ("xmm0","xmm2"); # 0 = 2A+B
220 &pxor ("xmm3","xmm0"); # 3 = 2A+B+D
221 &pshufb ("xmm0","xmm1"); # 0 = 2B+C
223 &pxor ("xmm0","xmm3"); # 0 = 2A+3B+C+D
229 &pandn ("xmm1","xmm0"); # 1 = i<<4
231 &pand ("xmm0","xmm6"); # 0 = k
233 &pshufb ("xmm5","xmm0"); # 2 = a/k
234 &pxor ("xmm0","xmm1"); # 0 = j
239 &pshufb ("xmm4","xmm0"); # 4 = 1/j
243 &pxor ("xmm2","xmm0"); # 2 = io
252 &movdqa ("xmm0",&QWP($k_sbo+16,$const));# 3 : sbot .Lk_sbo+16
255 &pshufb ("xmm0","xmm3"); # 0 = sb1t
257 &pxor ("xmm0","xmm4"); # 0 = A
258 &pshufb ("xmm0","xmm1");
272 &pandn ("xmm1","xmm0");
277 &pand ("xmm0","xmm6");
278 &pshufb ("xmm2","xmm0");
279 &movdqa ("xmm0",&QWP($k_dipt-$k_dsbd+16,$base));
281 &pshufb ("xmm0","xmm1");
285 &pxor ("xmm0","xmm2");
296 &pxor ("xmm4","xmm0");
297 &movdqa ("xmm0",&QWP(-0x10,$base)); # 0 : sb9t
298 &pshufb ("xmm0","xmm3"); # 0 = sb9t
299 &pxor ("xmm0","xmm4"); # 0 = ch
302 &pshufb ("xmm0","xmm5"); # MC ch
305 &pxor ("xmm4","xmm0"); # 4 = ch
306 &movdqa ("xmm0",&QWP(0x10,$base)); # 0 : sbdt
307 &pshufb ("xmm0","xmm3"); # 0 = sbdt
308 &pxor ("xmm0","xmm4"); # 0 = ch
311 &pshufb ("xmm0","xmm5"); # MC ch
314 &pxor ("xmm4","xmm0"); # 4 = ch
315 &movdqa ("xmm0",&QWP(0x30,$base)); # 0 : sbbt
316 &pshufb ("xmm0","xmm3"); # 0 = sbbt
317 &pxor ("xmm0","xmm4"); # 0 = ch
319 &pshufb ("xmm0","xmm5"); # MC ch
322 &pxor ("xmm4","xmm0"); # 4 = ch
323 &movdqa ("xmm0",&QWP(0x50,$base)); # 0 : sbet
324 &pshufb ("xmm0","xmm3"); # 0 = sbet
325 &pxor ("xmm0","xmm4"); # 0 = ch
332 &pandn ("xmm1","xmm0"); # 1 = i<<4
334 &pand ("xmm0","xmm6"); # 0 = k
336 &pshufb ("xmm2","xmm0"); # 2 = a/k
337 &pxor ("xmm0","xmm1"); # 0 = j
342 &pshufb ("xmm4","xmm0"); # 4 = 1/j
346 &pxor ("xmm2","xmm0"); # 2 = io
350 &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
545 &pshufd ("xmm0","xmm6",0x80); # d c 0 0 -> c 0 0 0
546 &pxor ("xmm6","xmm0"); # -> c+d c 0 0
547 &pshufd ("xmm0","xmm7",0xFE); # b a _ _ -> b b b a
548 &pxor ("xmm6","xmm0"); # -> b+c+d b+c b a
549 &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