The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/crypto/openssl/amd64/vpaes-x86_64.S

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* $FreeBSD$ */
    2 /* Do not modify. This file is auto-generated from vpaes-x86_64.pl. */
    3 .text   
    4 
    5 
    6 
    7 
    8 
    9 
   10 
   11 
   12 
   13 
   14 
   15 
   16 
   17 
   18 
   19 
   20 .type   _vpaes_encrypt_core,@function
   21 .align  16
   22 _vpaes_encrypt_core:
   23 .cfi_startproc  
   24         movq    %rdx,%r9
   25         movq    $16,%r11
   26         movl    240(%rdx),%eax
   27         movdqa  %xmm9,%xmm1
   28         movdqa  .Lk_ipt(%rip),%xmm2
   29         pandn   %xmm0,%xmm1
   30         movdqu  (%r9),%xmm5
   31         psrld   $4,%xmm1
   32         pand    %xmm9,%xmm0
   33 .byte   102,15,56,0,208
   34         movdqa  .Lk_ipt+16(%rip),%xmm0
   35 .byte   102,15,56,0,193
   36         pxor    %xmm5,%xmm2
   37         addq    $16,%r9
   38         pxor    %xmm2,%xmm0
   39         leaq    .Lk_mc_backward(%rip),%r10
   40         jmp     .Lenc_entry
   41 
   42 .align  16
   43 .Lenc_loop:
   44 
   45         movdqa  %xmm13,%xmm4
   46         movdqa  %xmm12,%xmm0
   47 .byte   102,15,56,0,226
   48 .byte   102,15,56,0,195
   49         pxor    %xmm5,%xmm4
   50         movdqa  %xmm15,%xmm5
   51         pxor    %xmm4,%xmm0
   52         movdqa  -64(%r11,%r10,1),%xmm1
   53 .byte   102,15,56,0,234
   54         movdqa  (%r11,%r10,1),%xmm4
   55         movdqa  %xmm14,%xmm2
   56 .byte   102,15,56,0,211
   57         movdqa  %xmm0,%xmm3
   58         pxor    %xmm5,%xmm2
   59 .byte   102,15,56,0,193
   60         addq    $16,%r9
   61         pxor    %xmm2,%xmm0
   62 .byte   102,15,56,0,220
   63         addq    $16,%r11
   64         pxor    %xmm0,%xmm3
   65 .byte   102,15,56,0,193
   66         andq    $0x30,%r11
   67         subq    $1,%rax
   68         pxor    %xmm3,%xmm0
   69 
   70 .Lenc_entry:
   71 
   72         movdqa  %xmm9,%xmm1
   73         movdqa  %xmm11,%xmm5
   74         pandn   %xmm0,%xmm1
   75         psrld   $4,%xmm1
   76         pand    %xmm9,%xmm0
   77 .byte   102,15,56,0,232
   78         movdqa  %xmm10,%xmm3
   79         pxor    %xmm1,%xmm0
   80 .byte   102,15,56,0,217
   81         movdqa  %xmm10,%xmm4
   82         pxor    %xmm5,%xmm3
   83 .byte   102,15,56,0,224
   84         movdqa  %xmm10,%xmm2
   85         pxor    %xmm5,%xmm4
   86 .byte   102,15,56,0,211
   87         movdqa  %xmm10,%xmm3
   88         pxor    %xmm0,%xmm2
   89 .byte   102,15,56,0,220
   90         movdqu  (%r9),%xmm5
   91         pxor    %xmm1,%xmm3
   92         jnz     .Lenc_loop
   93 
   94 
   95         movdqa  -96(%r10),%xmm4
   96         movdqa  -80(%r10),%xmm0
   97 .byte   102,15,56,0,226
   98         pxor    %xmm5,%xmm4
   99 .byte   102,15,56,0,195
  100         movdqa  64(%r11,%r10,1),%xmm1
  101         pxor    %xmm4,%xmm0
  102 .byte   102,15,56,0,193
  103         .byte   0xf3,0xc3
  104 .cfi_endproc    
  105 .size   _vpaes_encrypt_core,.-_vpaes_encrypt_core
  106 
  107 
  108 
  109 
  110 
  111 
  112 .type   _vpaes_decrypt_core,@function
  113 .align  16
  114 _vpaes_decrypt_core:
  115 .cfi_startproc  
  116         movq    %rdx,%r9
  117         movl    240(%rdx),%eax
  118         movdqa  %xmm9,%xmm1
  119         movdqa  .Lk_dipt(%rip),%xmm2
  120         pandn   %xmm0,%xmm1
  121         movq    %rax,%r11
  122         psrld   $4,%xmm1
  123         movdqu  (%r9),%xmm5
  124         shlq    $4,%r11
  125         pand    %xmm9,%xmm0
  126 .byte   102,15,56,0,208
  127         movdqa  .Lk_dipt+16(%rip),%xmm0
  128         xorq    $0x30,%r11
  129         leaq    .Lk_dsbd(%rip),%r10
  130 .byte   102,15,56,0,193
  131         andq    $0x30,%r11
  132         pxor    %xmm5,%xmm2
  133         movdqa  .Lk_mc_forward+48(%rip),%xmm5
  134         pxor    %xmm2,%xmm0
  135         addq    $16,%r9
  136         addq    %r10,%r11
  137         jmp     .Ldec_entry
  138 
  139 .align  16
  140 .Ldec_loop:
  141 
  142 
  143 
  144         movdqa  -32(%r10),%xmm4
  145         movdqa  -16(%r10),%xmm1
  146 .byte   102,15,56,0,226
  147 .byte   102,15,56,0,203
  148         pxor    %xmm4,%xmm0
  149         movdqa  0(%r10),%xmm4
  150         pxor    %xmm1,%xmm0
  151         movdqa  16(%r10),%xmm1
  152 
  153 .byte   102,15,56,0,226
  154 .byte   102,15,56,0,197
  155 .byte   102,15,56,0,203
  156         pxor    %xmm4,%xmm0
  157         movdqa  32(%r10),%xmm4
  158         pxor    %xmm1,%xmm0
  159         movdqa  48(%r10),%xmm1
  160 
  161 .byte   102,15,56,0,226
  162 .byte   102,15,56,0,197
  163 .byte   102,15,56,0,203
  164         pxor    %xmm4,%xmm0
  165         movdqa  64(%r10),%xmm4
  166         pxor    %xmm1,%xmm0
  167         movdqa  80(%r10),%xmm1
  168 
  169 .byte   102,15,56,0,226
  170 .byte   102,15,56,0,197
  171 .byte   102,15,56,0,203
  172         pxor    %xmm4,%xmm0
  173         addq    $16,%r9
  174 .byte   102,15,58,15,237,12
  175         pxor    %xmm1,%xmm0
  176         subq    $1,%rax
  177 
  178 .Ldec_entry:
  179 
  180         movdqa  %xmm9,%xmm1
  181         pandn   %xmm0,%xmm1
  182         movdqa  %xmm11,%xmm2
  183         psrld   $4,%xmm1
  184         pand    %xmm9,%xmm0
  185 .byte   102,15,56,0,208
  186         movdqa  %xmm10,%xmm3
  187         pxor    %xmm1,%xmm0
  188 .byte   102,15,56,0,217
  189         movdqa  %xmm10,%xmm4
  190         pxor    %xmm2,%xmm3
  191 .byte   102,15,56,0,224
  192         pxor    %xmm2,%xmm4
  193         movdqa  %xmm10,%xmm2
  194 .byte   102,15,56,0,211
  195         movdqa  %xmm10,%xmm3
  196         pxor    %xmm0,%xmm2
  197 .byte   102,15,56,0,220
  198         movdqu  (%r9),%xmm0
  199         pxor    %xmm1,%xmm3
  200         jnz     .Ldec_loop
  201 
  202 
  203         movdqa  96(%r10),%xmm4
  204 .byte   102,15,56,0,226
  205         pxor    %xmm0,%xmm4
  206         movdqa  112(%r10),%xmm0
  207         movdqa  -352(%r11),%xmm2
  208 .byte   102,15,56,0,195
  209         pxor    %xmm4,%xmm0
  210 .byte   102,15,56,0,194
  211         .byte   0xf3,0xc3
  212 .cfi_endproc    
  213 .size   _vpaes_decrypt_core,.-_vpaes_decrypt_core
  214 
  215 
  216 
  217 
  218 
  219 
  220 .type   _vpaes_schedule_core,@function
  221 .align  16
  222 _vpaes_schedule_core:
  223 .cfi_startproc  
  224 
  225 
  226 
  227 
  228 
  229         call    _vpaes_preheat
  230         movdqa  .Lk_rcon(%rip),%xmm8
  231         movdqu  (%rdi),%xmm0
  232 
  233 
  234         movdqa  %xmm0,%xmm3
  235         leaq    .Lk_ipt(%rip),%r11
  236         call    _vpaes_schedule_transform
  237         movdqa  %xmm0,%xmm7
  238 
  239         leaq    .Lk_sr(%rip),%r10
  240         testq   %rcx,%rcx
  241         jnz     .Lschedule_am_decrypting
  242 
  243 
  244         movdqu  %xmm0,(%rdx)
  245         jmp     .Lschedule_go
  246 
  247 .Lschedule_am_decrypting:
  248 
  249         movdqa  (%r8,%r10,1),%xmm1
  250 .byte   102,15,56,0,217
  251         movdqu  %xmm3,(%rdx)
  252         xorq    $0x30,%r8
  253 
  254 .Lschedule_go:
  255         cmpl    $192,%esi
  256         ja      .Lschedule_256
  257         je      .Lschedule_192
  258 
  259 
  260 
  261 
  262 
  263 
  264 
  265 
  266 
  267 
  268 .Lschedule_128:
  269         movl    $10,%esi
  270 
  271 .Loop_schedule_128:
  272         call    _vpaes_schedule_round
  273         decq    %rsi
  274         jz      .Lschedule_mangle_last
  275         call    _vpaes_schedule_mangle
  276         jmp     .Loop_schedule_128
  277 
  278 
  279 
  280 
  281 
  282 
  283 
  284 
  285 
  286 
  287 
  288 
  289 
  290 
  291 
  292 
  293 .align  16
  294 .Lschedule_192:
  295         movdqu  8(%rdi),%xmm0
  296         call    _vpaes_schedule_transform
  297         movdqa  %xmm0,%xmm6
  298         pxor    %xmm4,%xmm4
  299         movhlps %xmm4,%xmm6
  300         movl    $4,%esi
  301 
  302 .Loop_schedule_192:
  303         call    _vpaes_schedule_round
  304 .byte   102,15,58,15,198,8
  305         call    _vpaes_schedule_mangle
  306         call    _vpaes_schedule_192_smear
  307         call    _vpaes_schedule_mangle
  308         call    _vpaes_schedule_round
  309         decq    %rsi
  310         jz      .Lschedule_mangle_last
  311         call    _vpaes_schedule_mangle
  312         call    _vpaes_schedule_192_smear
  313         jmp     .Loop_schedule_192
  314 
  315 
  316 
  317 
  318 
  319 
  320 
  321 
  322 
  323 
  324 
  325 .align  16
  326 .Lschedule_256:
  327         movdqu  16(%rdi),%xmm0
  328         call    _vpaes_schedule_transform
  329         movl    $7,%esi
  330 
  331 .Loop_schedule_256:
  332         call    _vpaes_schedule_mangle
  333         movdqa  %xmm0,%xmm6
  334 
  335 
  336         call    _vpaes_schedule_round
  337         decq    %rsi
  338         jz      .Lschedule_mangle_last
  339         call    _vpaes_schedule_mangle
  340 
  341 
  342         pshufd  $0xFF,%xmm0,%xmm0
  343         movdqa  %xmm7,%xmm5
  344         movdqa  %xmm6,%xmm7
  345         call    _vpaes_schedule_low_round
  346         movdqa  %xmm5,%xmm7
  347 
  348         jmp     .Loop_schedule_256
  349 
  350 
  351 
  352 
  353 
  354 
  355 
  356 
  357 
  358 
  359 
  360 
  361 .align  16
  362 .Lschedule_mangle_last:
  363 
  364         leaq    .Lk_deskew(%rip),%r11
  365         testq   %rcx,%rcx
  366         jnz     .Lschedule_mangle_last_dec
  367 
  368 
  369         movdqa  (%r8,%r10,1),%xmm1
  370 .byte   102,15,56,0,193
  371         leaq    .Lk_opt(%rip),%r11
  372         addq    $32,%rdx
  373 
  374 .Lschedule_mangle_last_dec:
  375         addq    $-16,%rdx
  376         pxor    .Lk_s63(%rip),%xmm0
  377         call    _vpaes_schedule_transform
  378         movdqu  %xmm0,(%rdx)
  379 
  380 
  381         pxor    %xmm0,%xmm0
  382         pxor    %xmm1,%xmm1
  383         pxor    %xmm2,%xmm2
  384         pxor    %xmm3,%xmm3
  385         pxor    %xmm4,%xmm4
  386         pxor    %xmm5,%xmm5
  387         pxor    %xmm6,%xmm6
  388         pxor    %xmm7,%xmm7
  389         .byte   0xf3,0xc3
  390 .cfi_endproc    
  391 .size   _vpaes_schedule_core,.-_vpaes_schedule_core
  392 
  393 
  394 
  395 
  396 
  397 
  398 
  399 
  400 
  401 
  402 
  403 
  404 
  405 
  406 
  407 .type   _vpaes_schedule_192_smear,@function
  408 .align  16
  409 _vpaes_schedule_192_smear:
  410 .cfi_startproc  
  411         pshufd  $0x80,%xmm6,%xmm1
  412         pshufd  $0xFE,%xmm7,%xmm0
  413         pxor    %xmm1,%xmm6
  414         pxor    %xmm1,%xmm1
  415         pxor    %xmm0,%xmm6
  416         movdqa  %xmm6,%xmm0
  417         movhlps %xmm1,%xmm6
  418         .byte   0xf3,0xc3
  419 .cfi_endproc    
  420 .size   _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear
  421 
  422 
  423 
  424 
  425 
  426 
  427 
  428 
  429 
  430 
  431 
  432 
  433 
  434 
  435 
  436 
  437 
  438 
  439 
  440 .type   _vpaes_schedule_round,@function
  441 .align  16
  442 _vpaes_schedule_round:
  443 .cfi_startproc  
  444 
  445         pxor    %xmm1,%xmm1
  446 .byte   102,65,15,58,15,200,15
  447 .byte   102,69,15,58,15,192,15
  448         pxor    %xmm1,%xmm7
  449 
  450 
  451         pshufd  $0xFF,%xmm0,%xmm0
  452 .byte   102,15,58,15,192,1
  453 
  454 
  455 
  456 
  457 _vpaes_schedule_low_round:
  458 
  459         movdqa  %xmm7,%xmm1
  460         pslldq  $4,%xmm7
  461         pxor    %xmm1,%xmm7
  462         movdqa  %xmm7,%xmm1
  463         pslldq  $8,%xmm7
  464         pxor    %xmm1,%xmm7
  465         pxor    .Lk_s63(%rip),%xmm7
  466 
  467 
  468         movdqa  %xmm9,%xmm1
  469         pandn   %xmm0,%xmm1
  470         psrld   $4,%xmm1
  471         pand    %xmm9,%xmm0
  472         movdqa  %xmm11,%xmm2
  473 .byte   102,15,56,0,208
  474         pxor    %xmm1,%xmm0
  475         movdqa  %xmm10,%xmm3
  476 .byte   102,15,56,0,217
  477         pxor    %xmm2,%xmm3
  478         movdqa  %xmm10,%xmm4
  479 .byte   102,15,56,0,224
  480         pxor    %xmm2,%xmm4
  481         movdqa  %xmm10,%xmm2
  482 .byte   102,15,56,0,211
  483         pxor    %xmm0,%xmm2
  484         movdqa  %xmm10,%xmm3
  485 .byte   102,15,56,0,220
  486         pxor    %xmm1,%xmm3
  487         movdqa  %xmm13,%xmm4
  488 .byte   102,15,56,0,226
  489         movdqa  %xmm12,%xmm0
  490 .byte   102,15,56,0,195
  491         pxor    %xmm4,%xmm0
  492 
  493 
  494         pxor    %xmm7,%xmm0
  495         movdqa  %xmm0,%xmm7
  496         .byte   0xf3,0xc3
  497 .cfi_endproc    
  498 .size   _vpaes_schedule_round,.-_vpaes_schedule_round
  499 
  500 
  501 
  502 
  503 
  504 
  505 
  506 
  507 
  508 
  509 .type   _vpaes_schedule_transform,@function
  510 .align  16
  511 _vpaes_schedule_transform:
  512 .cfi_startproc  
  513         movdqa  %xmm9,%xmm1
  514         pandn   %xmm0,%xmm1
  515         psrld   $4,%xmm1
  516         pand    %xmm9,%xmm0
  517         movdqa  (%r11),%xmm2
  518 .byte   102,15,56,0,208
  519         movdqa  16(%r11),%xmm0
  520 .byte   102,15,56,0,193
  521         pxor    %xmm2,%xmm0
  522         .byte   0xf3,0xc3
  523 .cfi_endproc    
  524 .size   _vpaes_schedule_transform,.-_vpaes_schedule_transform
  525 
  526 
  527 
  528 
  529 
  530 
  531 
  532 
  533 
  534 
  535 
  536 
  537 
  538 
  539 
  540 
  541 
  542 
  543 
  544 
  545 
  546 
  547 
  548 
  549 .type   _vpaes_schedule_mangle,@function
  550 .align  16
  551 _vpaes_schedule_mangle:
  552 .cfi_startproc  
  553         movdqa  %xmm0,%xmm4
  554         movdqa  .Lk_mc_forward(%rip),%xmm5
  555         testq   %rcx,%rcx
  556         jnz     .Lschedule_mangle_dec
  557 
  558 
  559         addq    $16,%rdx
  560         pxor    .Lk_s63(%rip),%xmm4
  561 .byte   102,15,56,0,229
  562         movdqa  %xmm4,%xmm3
  563 .byte   102,15,56,0,229
  564         pxor    %xmm4,%xmm3
  565 .byte   102,15,56,0,229
  566         pxor    %xmm4,%xmm3
  567 
  568         jmp     .Lschedule_mangle_both
  569 .align  16
  570 .Lschedule_mangle_dec:
  571 
  572         leaq    .Lk_dksd(%rip),%r11
  573         movdqa  %xmm9,%xmm1
  574         pandn   %xmm4,%xmm1
  575         psrld   $4,%xmm1
  576         pand    %xmm9,%xmm4
  577 
  578         movdqa  0(%r11),%xmm2
  579 .byte   102,15,56,0,212
  580         movdqa  16(%r11),%xmm3
  581 .byte   102,15,56,0,217
  582         pxor    %xmm2,%xmm3
  583 .byte   102,15,56,0,221
  584 
  585         movdqa  32(%r11),%xmm2
  586 .byte   102,15,56,0,212
  587         pxor    %xmm3,%xmm2
  588         movdqa  48(%r11),%xmm3
  589 .byte   102,15,56,0,217
  590         pxor    %xmm2,%xmm3
  591 .byte   102,15,56,0,221
  592 
  593         movdqa  64(%r11),%xmm2
  594 .byte   102,15,56,0,212
  595         pxor    %xmm3,%xmm2
  596         movdqa  80(%r11),%xmm3
  597 .byte   102,15,56,0,217
  598         pxor    %xmm2,%xmm3
  599 .byte   102,15,56,0,221
  600 
  601         movdqa  96(%r11),%xmm2
  602 .byte   102,15,56,0,212
  603         pxor    %xmm3,%xmm2
  604         movdqa  112(%r11),%xmm3
  605 .byte   102,15,56,0,217
  606         pxor    %xmm2,%xmm3
  607 
  608         addq    $-16,%rdx
  609 
  610 .Lschedule_mangle_both:
  611         movdqa  (%r8,%r10,1),%xmm1
  612 .byte   102,15,56,0,217
  613         addq    $-16,%r8
  614         andq    $0x30,%r8
  615         movdqu  %xmm3,(%rdx)
  616         .byte   0xf3,0xc3
  617 .cfi_endproc    
  618 .size   _vpaes_schedule_mangle,.-_vpaes_schedule_mangle
  619 
  620 
  621 
  622 
  623 .globl  vpaes_set_encrypt_key
  624 .type   vpaes_set_encrypt_key,@function
  625 .align  16
  626 vpaes_set_encrypt_key:
  627 .cfi_startproc  
  628         movl    %esi,%eax
  629         shrl    $5,%eax
  630         addl    $5,%eax
  631         movl    %eax,240(%rdx)
  632 
  633         movl    $0,%ecx
  634         movl    $0x30,%r8d
  635         call    _vpaes_schedule_core
  636         xorl    %eax,%eax
  637         .byte   0xf3,0xc3
  638 .cfi_endproc    
  639 .size   vpaes_set_encrypt_key,.-vpaes_set_encrypt_key
  640 
  641 .globl  vpaes_set_decrypt_key
  642 .type   vpaes_set_decrypt_key,@function
  643 .align  16
  644 vpaes_set_decrypt_key:
  645 .cfi_startproc  
  646         movl    %esi,%eax
  647         shrl    $5,%eax
  648         addl    $5,%eax
  649         movl    %eax,240(%rdx)
  650         shll    $4,%eax
  651         leaq    16(%rdx,%rax,1),%rdx
  652 
  653         movl    $1,%ecx
  654         movl    %esi,%r8d
  655         shrl    $1,%r8d
  656         andl    $32,%r8d
  657         xorl    $32,%r8d
  658         call    _vpaes_schedule_core
  659         xorl    %eax,%eax
  660         .byte   0xf3,0xc3
  661 .cfi_endproc    
  662 .size   vpaes_set_decrypt_key,.-vpaes_set_decrypt_key
  663 
  664 .globl  vpaes_encrypt
  665 .type   vpaes_encrypt,@function
  666 .align  16
  667 vpaes_encrypt:
  668 .cfi_startproc  
  669         movdqu  (%rdi),%xmm0
  670         call    _vpaes_preheat
  671         call    _vpaes_encrypt_core
  672         movdqu  %xmm0,(%rsi)
  673         .byte   0xf3,0xc3
  674 .cfi_endproc    
  675 .size   vpaes_encrypt,.-vpaes_encrypt
  676 
  677 .globl  vpaes_decrypt
  678 .type   vpaes_decrypt,@function
  679 .align  16
  680 vpaes_decrypt:
  681 .cfi_startproc  
  682         movdqu  (%rdi),%xmm0
  683         call    _vpaes_preheat
  684         call    _vpaes_decrypt_core
  685         movdqu  %xmm0,(%rsi)
  686         .byte   0xf3,0xc3
  687 .cfi_endproc    
  688 .size   vpaes_decrypt,.-vpaes_decrypt
  689 .globl  vpaes_cbc_encrypt
  690 .type   vpaes_cbc_encrypt,@function
  691 .align  16
  692 vpaes_cbc_encrypt:
  693 .cfi_startproc  
  694         xchgq   %rcx,%rdx
  695         subq    $16,%rcx
  696         jc      .Lcbc_abort
  697         movdqu  (%r8),%xmm6
  698         subq    %rdi,%rsi
  699         call    _vpaes_preheat
  700         cmpl    $0,%r9d
  701         je      .Lcbc_dec_loop
  702         jmp     .Lcbc_enc_loop
  703 .align  16
  704 .Lcbc_enc_loop:
  705         movdqu  (%rdi),%xmm0
  706         pxor    %xmm6,%xmm0
  707         call    _vpaes_encrypt_core
  708         movdqa  %xmm0,%xmm6
  709         movdqu  %xmm0,(%rsi,%rdi,1)
  710         leaq    16(%rdi),%rdi
  711         subq    $16,%rcx
  712         jnc     .Lcbc_enc_loop
  713         jmp     .Lcbc_done
  714 .align  16
  715 .Lcbc_dec_loop:
  716         movdqu  (%rdi),%xmm0
  717         movdqa  %xmm0,%xmm7
  718         call    _vpaes_decrypt_core
  719         pxor    %xmm6,%xmm0
  720         movdqa  %xmm7,%xmm6
  721         movdqu  %xmm0,(%rsi,%rdi,1)
  722         leaq    16(%rdi),%rdi
  723         subq    $16,%rcx
  724         jnc     .Lcbc_dec_loop
  725 .Lcbc_done:
  726         movdqu  %xmm6,(%r8)
  727 .Lcbc_abort:
  728         .byte   0xf3,0xc3
  729 .cfi_endproc    
  730 .size   vpaes_cbc_encrypt,.-vpaes_cbc_encrypt
  731 
  732 
  733 
  734 
  735 
  736 
  737 .type   _vpaes_preheat,@function
  738 .align  16
  739 _vpaes_preheat:
  740 .cfi_startproc  
  741         leaq    .Lk_s0F(%rip),%r10
  742         movdqa  -32(%r10),%xmm10
  743         movdqa  -16(%r10),%xmm11
  744         movdqa  0(%r10),%xmm9
  745         movdqa  48(%r10),%xmm13
  746         movdqa  64(%r10),%xmm12
  747         movdqa  80(%r10),%xmm15
  748         movdqa  96(%r10),%xmm14
  749         .byte   0xf3,0xc3
  750 .cfi_endproc    
  751 .size   _vpaes_preheat,.-_vpaes_preheat
  752 
  753 
  754 
  755 
  756 
  757 .type   _vpaes_consts,@object
  758 .align  64
  759 _vpaes_consts:
  760 .Lk_inv:
  761 .quad   0x0E05060F0D080180, 0x040703090A0B0C02
  762 .quad   0x01040A060F0B0780, 0x030D0E0C02050809
  763 
  764 .Lk_s0F:
  765 .quad   0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F
  766 
  767 .Lk_ipt:
  768 .quad   0xC2B2E8985A2A7000, 0xCABAE09052227808
  769 .quad   0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81
  770 
  771 .Lk_sb1:
  772 .quad   0xB19BE18FCB503E00, 0xA5DF7A6E142AF544
  773 .quad   0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF
  774 .Lk_sb2:
  775 .quad   0xE27A93C60B712400, 0x5EB7E955BC982FCD
  776 .quad   0x69EB88400AE12900, 0xC2A163C8AB82234A
  777 .Lk_sbo:
  778 .quad   0xD0D26D176FBDC700, 0x15AABF7AC502A878
  779 .quad   0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA
  780 
  781 .Lk_mc_forward:
  782 .quad   0x0407060500030201, 0x0C0F0E0D080B0A09
  783 .quad   0x080B0A0904070605, 0x000302010C0F0E0D
  784 .quad   0x0C0F0E0D080B0A09, 0x0407060500030201
  785 .quad   0x000302010C0F0E0D, 0x080B0A0904070605
  786 
  787 .Lk_mc_backward:
  788 .quad   0x0605040702010003, 0x0E0D0C0F0A09080B
  789 .quad   0x020100030E0D0C0F, 0x0A09080B06050407
  790 .quad   0x0E0D0C0F0A09080B, 0x0605040702010003
  791 .quad   0x0A09080B06050407, 0x020100030E0D0C0F
  792 
  793 .Lk_sr:
  794 .quad   0x0706050403020100, 0x0F0E0D0C0B0A0908
  795 .quad   0x030E09040F0A0500, 0x0B06010C07020D08
  796 .quad   0x0F060D040B020900, 0x070E050C030A0108
  797 .quad   0x0B0E0104070A0D00, 0x0306090C0F020508
  798 
  799 .Lk_rcon:
  800 .quad   0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81
  801 
  802 .Lk_s63:
  803 .quad   0x5B5B5B5B5B5B5B5B, 0x5B5B5B5B5B5B5B5B
  804 
  805 .Lk_opt:
  806 .quad   0xFF9F4929D6B66000, 0xF7974121DEBE6808
  807 .quad   0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0
  808 
  809 .Lk_deskew:
  810 .quad   0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A
  811 .quad   0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77
  812 
  813 
  814 
  815 
  816 
  817 .Lk_dksd:
  818 .quad   0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9
  819 .quad   0x41C277F4B5368300, 0x5FDC69EAAB289D1E
  820 .Lk_dksb:
  821 .quad   0x9A4FCA1F8550D500, 0x03D653861CC94C99
  822 .quad   0x115BEDA7B6FC4A00, 0xD993256F7E3482C8
  823 .Lk_dkse:
  824 .quad   0xD5031CCA1FC9D600, 0x53859A4C994F5086
  825 .quad   0xA23196054FDC7BE8, 0xCD5EF96A20B31487
  826 .Lk_dks9:
  827 .quad   0xB6116FC87ED9A700, 0x4AED933482255BFC
  828 .quad   0x4576516227143300, 0x8BB89FACE9DAFDCE
  829 
  830 
  831 
  832 
  833 
  834 .Lk_dipt:
  835 .quad   0x0F505B040B545F00, 0x154A411E114E451A
  836 .quad   0x86E383E660056500, 0x12771772F491F194
  837 
  838 .Lk_dsb9:
  839 .quad   0x851C03539A86D600, 0xCAD51F504F994CC9
  840 .quad   0xC03B1789ECD74900, 0x725E2C9EB2FBA565
  841 .Lk_dsbd:
  842 .quad   0x7D57CCDFE6B1A200, 0xF56E9B13882A4439
  843 .quad   0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3
  844 .Lk_dsbb:
  845 .quad   0xD022649296B44200, 0x602646F6B0F2D404
  846 .quad   0xC19498A6CD596700, 0xF3FF0C3E3255AA6B
  847 .Lk_dsbe:
  848 .quad   0x46F2929626D4D000, 0x2242600464B4F6B0
  849 .quad   0x0C55A6CDFFAAC100, 0x9467F36B98593E32
  850 .Lk_dsbo:
  851 .quad   0x1387EA537EF94000, 0xC7AA6DB9D4943E2D
  852 .quad   0x12D7560F93441D00, 0xCA4B8159D8C58E9C
  853 .byte   86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0
  854 .align  64
  855 .size   _vpaes_consts,.-_vpaes_consts

Cache object: c0ece7443aff91eed11a745b92ffe9ce


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.