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/keccak1600-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 keccak1600-x86_64.pl. */
    3 .text   
    4 
    5 .type   __KeccakF1600,@function
    6 .align  32
    7 __KeccakF1600:
    8 .cfi_startproc  
    9         movq    60(%rdi),%rax
   10         movq    68(%rdi),%rbx
   11         movq    76(%rdi),%rcx
   12         movq    84(%rdi),%rdx
   13         movq    92(%rdi),%rbp
   14         jmp     .Loop
   15 
   16 .align  32
   17 .Loop:
   18         movq    -100(%rdi),%r8
   19         movq    -52(%rdi),%r9
   20         movq    -4(%rdi),%r10
   21         movq    44(%rdi),%r11
   22 
   23         xorq    -84(%rdi),%rcx
   24         xorq    -76(%rdi),%rdx
   25         xorq    %r8,%rax
   26         xorq    -92(%rdi),%rbx
   27         xorq    -44(%rdi),%rcx
   28         xorq    -60(%rdi),%rax
   29         movq    %rbp,%r12
   30         xorq    -68(%rdi),%rbp
   31 
   32         xorq    %r10,%rcx
   33         xorq    -20(%rdi),%rax
   34         xorq    -36(%rdi),%rdx
   35         xorq    %r9,%rbx
   36         xorq    -28(%rdi),%rbp
   37 
   38         xorq    36(%rdi),%rcx
   39         xorq    20(%rdi),%rax
   40         xorq    4(%rdi),%rdx
   41         xorq    -12(%rdi),%rbx
   42         xorq    12(%rdi),%rbp
   43 
   44         movq    %rcx,%r13
   45         rolq    $1,%rcx
   46         xorq    %rax,%rcx
   47         xorq    %r11,%rdx
   48 
   49         rolq    $1,%rax
   50         xorq    %rdx,%rax
   51         xorq    28(%rdi),%rbx
   52 
   53         rolq    $1,%rdx
   54         xorq    %rbx,%rdx
   55         xorq    52(%rdi),%rbp
   56 
   57         rolq    $1,%rbx
   58         xorq    %rbp,%rbx
   59 
   60         rolq    $1,%rbp
   61         xorq    %r13,%rbp
   62         xorq    %rcx,%r9
   63         xorq    %rdx,%r10
   64         rolq    $44,%r9
   65         xorq    %rbp,%r11
   66         xorq    %rax,%r12
   67         rolq    $43,%r10
   68         xorq    %rbx,%r8
   69         movq    %r9,%r13
   70         rolq    $21,%r11
   71         orq     %r10,%r9
   72         xorq    %r8,%r9
   73         rolq    $14,%r12
   74 
   75         xorq    (%r15),%r9
   76         leaq    8(%r15),%r15
   77 
   78         movq    %r12,%r14
   79         andq    %r11,%r12
   80         movq    %r9,-100(%rsi)
   81         xorq    %r10,%r12
   82         notq    %r10
   83         movq    %r12,-84(%rsi)
   84 
   85         orq     %r11,%r10
   86         movq    76(%rdi),%r12
   87         xorq    %r13,%r10
   88         movq    %r10,-92(%rsi)
   89 
   90         andq    %r8,%r13
   91         movq    -28(%rdi),%r9
   92         xorq    %r14,%r13
   93         movq    -20(%rdi),%r10
   94         movq    %r13,-68(%rsi)
   95 
   96         orq     %r8,%r14
   97         movq    -76(%rdi),%r8
   98         xorq    %r11,%r14
   99         movq    28(%rdi),%r11
  100         movq    %r14,-76(%rsi)
  101 
  102 
  103         xorq    %rbp,%r8
  104         xorq    %rdx,%r12
  105         rolq    $28,%r8
  106         xorq    %rcx,%r11
  107         xorq    %rax,%r9
  108         rolq    $61,%r12
  109         rolq    $45,%r11
  110         xorq    %rbx,%r10
  111         rolq    $20,%r9
  112         movq    %r8,%r13
  113         orq     %r12,%r8
  114         rolq    $3,%r10
  115 
  116         xorq    %r11,%r8
  117         movq    %r8,-36(%rsi)
  118 
  119         movq    %r9,%r14
  120         andq    %r13,%r9
  121         movq    -92(%rdi),%r8
  122         xorq    %r12,%r9
  123         notq    %r12
  124         movq    %r9,-28(%rsi)
  125 
  126         orq     %r11,%r12
  127         movq    -44(%rdi),%r9
  128         xorq    %r10,%r12
  129         movq    %r12,-44(%rsi)
  130 
  131         andq    %r10,%r11
  132         movq    60(%rdi),%r12
  133         xorq    %r14,%r11
  134         movq    %r11,-52(%rsi)
  135 
  136         orq     %r10,%r14
  137         movq    4(%rdi),%r10
  138         xorq    %r13,%r14
  139         movq    52(%rdi),%r11
  140         movq    %r14,-60(%rsi)
  141 
  142 
  143         xorq    %rbp,%r10
  144         xorq    %rax,%r11
  145         rolq    $25,%r10
  146         xorq    %rdx,%r9
  147         rolq    $8,%r11
  148         xorq    %rbx,%r12
  149         rolq    $6,%r9
  150         xorq    %rcx,%r8
  151         rolq    $18,%r12
  152         movq    %r10,%r13
  153         andq    %r11,%r10
  154         rolq    $1,%r8
  155 
  156         notq    %r11
  157         xorq    %r9,%r10
  158         movq    %r10,-12(%rsi)
  159 
  160         movq    %r12,%r14
  161         andq    %r11,%r12
  162         movq    -12(%rdi),%r10
  163         xorq    %r13,%r12
  164         movq    %r12,-4(%rsi)
  165 
  166         orq     %r9,%r13
  167         movq    84(%rdi),%r12
  168         xorq    %r8,%r13
  169         movq    %r13,-20(%rsi)
  170 
  171         andq    %r8,%r9
  172         xorq    %r14,%r9
  173         movq    %r9,12(%rsi)
  174 
  175         orq     %r8,%r14
  176         movq    -60(%rdi),%r9
  177         xorq    %r11,%r14
  178         movq    36(%rdi),%r11
  179         movq    %r14,4(%rsi)
  180 
  181 
  182         movq    -68(%rdi),%r8
  183 
  184         xorq    %rcx,%r10
  185         xorq    %rdx,%r11
  186         rolq    $10,%r10
  187         xorq    %rbx,%r9
  188         rolq    $15,%r11
  189         xorq    %rbp,%r12
  190         rolq    $36,%r9
  191         xorq    %rax,%r8
  192         rolq    $56,%r12
  193         movq    %r10,%r13
  194         orq     %r11,%r10
  195         rolq    $27,%r8
  196 
  197         notq    %r11
  198         xorq    %r9,%r10
  199         movq    %r10,28(%rsi)
  200 
  201         movq    %r12,%r14
  202         orq     %r11,%r12
  203         xorq    %r13,%r12
  204         movq    %r12,36(%rsi)
  205 
  206         andq    %r9,%r13
  207         xorq    %r8,%r13
  208         movq    %r13,20(%rsi)
  209 
  210         orq     %r8,%r9
  211         xorq    %r14,%r9
  212         movq    %r9,52(%rsi)
  213 
  214         andq    %r14,%r8
  215         xorq    %r11,%r8
  216         movq    %r8,44(%rsi)
  217 
  218 
  219         xorq    -84(%rdi),%rdx
  220         xorq    -36(%rdi),%rbp
  221         rolq    $62,%rdx
  222         xorq    68(%rdi),%rcx
  223         rolq    $55,%rbp
  224         xorq    12(%rdi),%rax
  225         rolq    $2,%rcx
  226         xorq    20(%rdi),%rbx
  227         xchgq   %rsi,%rdi
  228         rolq    $39,%rax
  229         rolq    $41,%rbx
  230         movq    %rdx,%r13
  231         andq    %rbp,%rdx
  232         notq    %rbp
  233         xorq    %rcx,%rdx
  234         movq    %rdx,92(%rdi)
  235 
  236         movq    %rax,%r14
  237         andq    %rbp,%rax
  238         xorq    %r13,%rax
  239         movq    %rax,60(%rdi)
  240 
  241         orq     %rcx,%r13
  242         xorq    %rbx,%r13
  243         movq    %r13,84(%rdi)
  244 
  245         andq    %rbx,%rcx
  246         xorq    %r14,%rcx
  247         movq    %rcx,76(%rdi)
  248 
  249         orq     %r14,%rbx
  250         xorq    %rbp,%rbx
  251         movq    %rbx,68(%rdi)
  252 
  253         movq    %rdx,%rbp
  254         movq    %r13,%rdx
  255 
  256         testq   $255,%r15
  257         jnz     .Loop
  258 
  259         leaq    -192(%r15),%r15
  260         .byte   0xf3,0xc3
  261 .cfi_endproc    
  262 .size   __KeccakF1600,.-__KeccakF1600
  263 
  264 .type   KeccakF1600,@function
  265 .align  32
  266 KeccakF1600:
  267 .cfi_startproc  
  268         pushq   %rbx
  269 .cfi_adjust_cfa_offset  8
  270 .cfi_offset     %rbx,-16
  271         pushq   %rbp
  272 .cfi_adjust_cfa_offset  8
  273 .cfi_offset     %rbp,-24
  274         pushq   %r12
  275 .cfi_adjust_cfa_offset  8
  276 .cfi_offset     %r12,-32
  277         pushq   %r13
  278 .cfi_adjust_cfa_offset  8
  279 .cfi_offset     %r13,-40
  280         pushq   %r14
  281 .cfi_adjust_cfa_offset  8
  282 .cfi_offset     %r14,-48
  283         pushq   %r15
  284 .cfi_adjust_cfa_offset  8
  285 .cfi_offset     %r15,-56
  286 
  287         leaq    100(%rdi),%rdi
  288         subq    $200,%rsp
  289 .cfi_adjust_cfa_offset  200
  290 
  291         notq    -92(%rdi)
  292         notq    -84(%rdi)
  293         notq    -36(%rdi)
  294         notq    -4(%rdi)
  295         notq    36(%rdi)
  296         notq    60(%rdi)
  297 
  298         leaq    iotas(%rip),%r15
  299         leaq    100(%rsp),%rsi
  300 
  301         call    __KeccakF1600
  302 
  303         notq    -92(%rdi)
  304         notq    -84(%rdi)
  305         notq    -36(%rdi)
  306         notq    -4(%rdi)
  307         notq    36(%rdi)
  308         notq    60(%rdi)
  309         leaq    -100(%rdi),%rdi
  310 
  311         addq    $200,%rsp
  312 .cfi_adjust_cfa_offset  -200
  313 
  314         popq    %r15
  315 .cfi_adjust_cfa_offset  -8
  316 .cfi_restore    %r15
  317         popq    %r14
  318 .cfi_adjust_cfa_offset  -8
  319 .cfi_restore    %r14
  320         popq    %r13
  321 .cfi_adjust_cfa_offset  -8
  322 .cfi_restore    %r13
  323         popq    %r12
  324 .cfi_adjust_cfa_offset  -8
  325 .cfi_restore    %r12
  326         popq    %rbp
  327 .cfi_adjust_cfa_offset  -8
  328 .cfi_restore    %rbp
  329         popq    %rbx
  330 .cfi_adjust_cfa_offset  -8
  331 .cfi_restore    %rbx
  332         .byte   0xf3,0xc3
  333 .cfi_endproc    
  334 .size   KeccakF1600,.-KeccakF1600
  335 .globl  SHA3_absorb
  336 .type   SHA3_absorb,@function
  337 .align  32
  338 SHA3_absorb:
  339 .cfi_startproc  
  340         pushq   %rbx
  341 .cfi_adjust_cfa_offset  8
  342 .cfi_offset     %rbx,-16
  343         pushq   %rbp
  344 .cfi_adjust_cfa_offset  8
  345 .cfi_offset     %rbp,-24
  346         pushq   %r12
  347 .cfi_adjust_cfa_offset  8
  348 .cfi_offset     %r12,-32
  349         pushq   %r13
  350 .cfi_adjust_cfa_offset  8
  351 .cfi_offset     %r13,-40
  352         pushq   %r14
  353 .cfi_adjust_cfa_offset  8
  354 .cfi_offset     %r14,-48
  355         pushq   %r15
  356 .cfi_adjust_cfa_offset  8
  357 .cfi_offset     %r15,-56
  358 
  359         leaq    100(%rdi),%rdi
  360         subq    $232,%rsp
  361 .cfi_adjust_cfa_offset  232
  362 
  363         movq    %rsi,%r9
  364         leaq    100(%rsp),%rsi
  365 
  366         notq    -92(%rdi)
  367         notq    -84(%rdi)
  368         notq    -36(%rdi)
  369         notq    -4(%rdi)
  370         notq    36(%rdi)
  371         notq    60(%rdi)
  372         leaq    iotas(%rip),%r15
  373 
  374         movq    %rcx,216-100(%rsi)
  375 
  376 .Loop_absorb:
  377         cmpq    %rcx,%rdx
  378         jc      .Ldone_absorb
  379 
  380         shrq    $3,%rcx
  381         leaq    -100(%rdi),%r8
  382 
  383 .Lblock_absorb:
  384         movq    (%r9),%rax
  385         leaq    8(%r9),%r9
  386         xorq    (%r8),%rax
  387         leaq    8(%r8),%r8
  388         subq    $8,%rdx
  389         movq    %rax,-8(%r8)
  390         subq    $1,%rcx
  391         jnz     .Lblock_absorb
  392 
  393         movq    %r9,200-100(%rsi)
  394         movq    %rdx,208-100(%rsi)
  395         call    __KeccakF1600
  396         movq    200-100(%rsi),%r9
  397         movq    208-100(%rsi),%rdx
  398         movq    216-100(%rsi),%rcx
  399         jmp     .Loop_absorb
  400 
  401 .align  32
  402 .Ldone_absorb:
  403         movq    %rdx,%rax
  404 
  405         notq    -92(%rdi)
  406         notq    -84(%rdi)
  407         notq    -36(%rdi)
  408         notq    -4(%rdi)
  409         notq    36(%rdi)
  410         notq    60(%rdi)
  411 
  412         addq    $232,%rsp
  413 .cfi_adjust_cfa_offset  -232
  414 
  415         popq    %r15
  416 .cfi_adjust_cfa_offset  -8
  417 .cfi_restore    %r15
  418         popq    %r14
  419 .cfi_adjust_cfa_offset  -8
  420 .cfi_restore    %r14
  421         popq    %r13
  422 .cfi_adjust_cfa_offset  -8
  423 .cfi_restore    %r13
  424         popq    %r12
  425 .cfi_adjust_cfa_offset  -8
  426 .cfi_restore    %r12
  427         popq    %rbp
  428 .cfi_adjust_cfa_offset  -8
  429 .cfi_restore    %rbp
  430         popq    %rbx
  431 .cfi_adjust_cfa_offset  -8
  432 .cfi_restore    %rbx
  433         .byte   0xf3,0xc3
  434 .cfi_endproc    
  435 .size   SHA3_absorb,.-SHA3_absorb
  436 .globl  SHA3_squeeze
  437 .type   SHA3_squeeze,@function
  438 .align  32
  439 SHA3_squeeze:
  440 .cfi_startproc  
  441         pushq   %r12
  442 .cfi_adjust_cfa_offset  8
  443 .cfi_offset     %r12,-16
  444         pushq   %r13
  445 .cfi_adjust_cfa_offset  8
  446 .cfi_offset     %r13,-24
  447         pushq   %r14
  448 .cfi_adjust_cfa_offset  8
  449 .cfi_offset     %r14,-32
  450 
  451         shrq    $3,%rcx
  452         movq    %rdi,%r8
  453         movq    %rsi,%r12
  454         movq    %rdx,%r13
  455         movq    %rcx,%r14
  456         jmp     .Loop_squeeze
  457 
  458 .align  32
  459 .Loop_squeeze:
  460         cmpq    $8,%r13
  461         jb      .Ltail_squeeze
  462 
  463         movq    (%r8),%rax
  464         leaq    8(%r8),%r8
  465         movq    %rax,(%r12)
  466         leaq    8(%r12),%r12
  467         subq    $8,%r13
  468         jz      .Ldone_squeeze
  469 
  470         subq    $1,%rcx
  471         jnz     .Loop_squeeze
  472 
  473         call    KeccakF1600
  474         movq    %rdi,%r8
  475         movq    %r14,%rcx
  476         jmp     .Loop_squeeze
  477 
  478 .Ltail_squeeze:
  479         movq    %r8,%rsi
  480         movq    %r12,%rdi
  481         movq    %r13,%rcx
  482 .byte   0xf3,0xa4
  483 
  484 .Ldone_squeeze:
  485         popq    %r14
  486 .cfi_adjust_cfa_offset  -8
  487 .cfi_restore    %r14
  488         popq    %r13
  489 .cfi_adjust_cfa_offset  -8
  490 .cfi_restore    %r13
  491         popq    %r12
  492 .cfi_adjust_cfa_offset  -8
  493 .cfi_restore    %r13
  494         .byte   0xf3,0xc3
  495 .cfi_endproc    
  496 .size   SHA3_squeeze,.-SHA3_squeeze
  497 .align  256
  498 .quad   0,0,0,0,0,0,0,0
  499 .type   iotas,@object
  500 iotas:
  501 .quad   0x0000000000000001
  502 .quad   0x0000000000008082
  503 .quad   0x800000000000808a
  504 .quad   0x8000000080008000
  505 .quad   0x000000000000808b
  506 .quad   0x0000000080000001
  507 .quad   0x8000000080008081
  508 .quad   0x8000000000008009
  509 .quad   0x000000000000008a
  510 .quad   0x0000000000000088
  511 .quad   0x0000000080008009
  512 .quad   0x000000008000000a
  513 .quad   0x000000008000808b
  514 .quad   0x800000000000008b
  515 .quad   0x8000000000008089
  516 .quad   0x8000000000008003
  517 .quad   0x8000000000008002
  518 .quad   0x8000000000000080
  519 .quad   0x000000000000800a
  520 .quad   0x800000008000000a
  521 .quad   0x8000000080008081
  522 .quad   0x8000000000008080
  523 .quad   0x0000000080000001
  524 .quad   0x8000000080008008
  525 .size   iotas,.-iotas
  526 .byte   75,101,99,99,97,107,45,49,54,48,48,32,97,98,115,111,114,98,32,97,110,100,32,115,113,117,101,101,122,101,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0

Cache object: 71501810cd20d83be26fe4106fb3ab62


[ 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.