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/i386/rc5-586.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 rc5-586.pl. */
    3 #ifdef PIC
    4 .text
    5 .globl  RC5_32_encrypt
    6 .type   RC5_32_encrypt,@function
    7 .align  16
    8 RC5_32_encrypt:
    9 .L_RC5_32_encrypt_begin:
   10 
   11         pushl   %ebp
   12         pushl   %esi
   13         pushl   %edi
   14         movl    16(%esp),%edx
   15         movl    20(%esp),%ebp
   16 
   17         movl    (%edx),%edi
   18         movl    4(%edx),%esi
   19         pushl   %ebx
   20         movl    (%ebp),%ebx
   21         addl    4(%ebp),%edi
   22         addl    8(%ebp),%esi
   23         xorl    %esi,%edi
   24         movl    12(%ebp),%eax
   25         movl    %esi,%ecx
   26         roll    %cl,%edi
   27         addl    %eax,%edi
   28         xorl    %edi,%esi
   29         movl    16(%ebp),%eax
   30         movl    %edi,%ecx
   31         roll    %cl,%esi
   32         addl    %eax,%esi
   33         xorl    %esi,%edi
   34         movl    20(%ebp),%eax
   35         movl    %esi,%ecx
   36         roll    %cl,%edi
   37         addl    %eax,%edi
   38         xorl    %edi,%esi
   39         movl    24(%ebp),%eax
   40         movl    %edi,%ecx
   41         roll    %cl,%esi
   42         addl    %eax,%esi
   43         xorl    %esi,%edi
   44         movl    28(%ebp),%eax
   45         movl    %esi,%ecx
   46         roll    %cl,%edi
   47         addl    %eax,%edi
   48         xorl    %edi,%esi
   49         movl    32(%ebp),%eax
   50         movl    %edi,%ecx
   51         roll    %cl,%esi
   52         addl    %eax,%esi
   53         xorl    %esi,%edi
   54         movl    36(%ebp),%eax
   55         movl    %esi,%ecx
   56         roll    %cl,%edi
   57         addl    %eax,%edi
   58         xorl    %edi,%esi
   59         movl    40(%ebp),%eax
   60         movl    %edi,%ecx
   61         roll    %cl,%esi
   62         addl    %eax,%esi
   63         xorl    %esi,%edi
   64         movl    44(%ebp),%eax
   65         movl    %esi,%ecx
   66         roll    %cl,%edi
   67         addl    %eax,%edi
   68         xorl    %edi,%esi
   69         movl    48(%ebp),%eax
   70         movl    %edi,%ecx
   71         roll    %cl,%esi
   72         addl    %eax,%esi
   73         xorl    %esi,%edi
   74         movl    52(%ebp),%eax
   75         movl    %esi,%ecx
   76         roll    %cl,%edi
   77         addl    %eax,%edi
   78         xorl    %edi,%esi
   79         movl    56(%ebp),%eax
   80         movl    %edi,%ecx
   81         roll    %cl,%esi
   82         addl    %eax,%esi
   83         xorl    %esi,%edi
   84         movl    60(%ebp),%eax
   85         movl    %esi,%ecx
   86         roll    %cl,%edi
   87         addl    %eax,%edi
   88         xorl    %edi,%esi
   89         movl    64(%ebp),%eax
   90         movl    %edi,%ecx
   91         roll    %cl,%esi
   92         addl    %eax,%esi
   93         xorl    %esi,%edi
   94         movl    68(%ebp),%eax
   95         movl    %esi,%ecx
   96         roll    %cl,%edi
   97         addl    %eax,%edi
   98         xorl    %edi,%esi
   99         movl    72(%ebp),%eax
  100         movl    %edi,%ecx
  101         roll    %cl,%esi
  102         addl    %eax,%esi
  103         cmpl    $8,%ebx
  104         je      .L000rc5_exit
  105         xorl    %esi,%edi
  106         movl    76(%ebp),%eax
  107         movl    %esi,%ecx
  108         roll    %cl,%edi
  109         addl    %eax,%edi
  110         xorl    %edi,%esi
  111         movl    80(%ebp),%eax
  112         movl    %edi,%ecx
  113         roll    %cl,%esi
  114         addl    %eax,%esi
  115         xorl    %esi,%edi
  116         movl    84(%ebp),%eax
  117         movl    %esi,%ecx
  118         roll    %cl,%edi
  119         addl    %eax,%edi
  120         xorl    %edi,%esi
  121         movl    88(%ebp),%eax
  122         movl    %edi,%ecx
  123         roll    %cl,%esi
  124         addl    %eax,%esi
  125         xorl    %esi,%edi
  126         movl    92(%ebp),%eax
  127         movl    %esi,%ecx
  128         roll    %cl,%edi
  129         addl    %eax,%edi
  130         xorl    %edi,%esi
  131         movl    96(%ebp),%eax
  132         movl    %edi,%ecx
  133         roll    %cl,%esi
  134         addl    %eax,%esi
  135         xorl    %esi,%edi
  136         movl    100(%ebp),%eax
  137         movl    %esi,%ecx
  138         roll    %cl,%edi
  139         addl    %eax,%edi
  140         xorl    %edi,%esi
  141         movl    104(%ebp),%eax
  142         movl    %edi,%ecx
  143         roll    %cl,%esi
  144         addl    %eax,%esi
  145         cmpl    $12,%ebx
  146         je      .L000rc5_exit
  147         xorl    %esi,%edi
  148         movl    108(%ebp),%eax
  149         movl    %esi,%ecx
  150         roll    %cl,%edi
  151         addl    %eax,%edi
  152         xorl    %edi,%esi
  153         movl    112(%ebp),%eax
  154         movl    %edi,%ecx
  155         roll    %cl,%esi
  156         addl    %eax,%esi
  157         xorl    %esi,%edi
  158         movl    116(%ebp),%eax
  159         movl    %esi,%ecx
  160         roll    %cl,%edi
  161         addl    %eax,%edi
  162         xorl    %edi,%esi
  163         movl    120(%ebp),%eax
  164         movl    %edi,%ecx
  165         roll    %cl,%esi
  166         addl    %eax,%esi
  167         xorl    %esi,%edi
  168         movl    124(%ebp),%eax
  169         movl    %esi,%ecx
  170         roll    %cl,%edi
  171         addl    %eax,%edi
  172         xorl    %edi,%esi
  173         movl    128(%ebp),%eax
  174         movl    %edi,%ecx
  175         roll    %cl,%esi
  176         addl    %eax,%esi
  177         xorl    %esi,%edi
  178         movl    132(%ebp),%eax
  179         movl    %esi,%ecx
  180         roll    %cl,%edi
  181         addl    %eax,%edi
  182         xorl    %edi,%esi
  183         movl    136(%ebp),%eax
  184         movl    %edi,%ecx
  185         roll    %cl,%esi
  186         addl    %eax,%esi
  187 .L000rc5_exit:
  188         movl    %edi,(%edx)
  189         movl    %esi,4(%edx)
  190         popl    %ebx
  191         popl    %edi
  192         popl    %esi
  193         popl    %ebp
  194         ret
  195 .size   RC5_32_encrypt,.-.L_RC5_32_encrypt_begin
  196 .globl  RC5_32_decrypt
  197 .type   RC5_32_decrypt,@function
  198 .align  16
  199 RC5_32_decrypt:
  200 .L_RC5_32_decrypt_begin:
  201 
  202         pushl   %ebp
  203         pushl   %esi
  204         pushl   %edi
  205         movl    16(%esp),%edx
  206         movl    20(%esp),%ebp
  207 
  208         movl    (%edx),%edi
  209         movl    4(%edx),%esi
  210         pushl   %ebx
  211         movl    (%ebp),%ebx
  212         cmpl    $12,%ebx
  213         je      .L001rc5_dec_12
  214         cmpl    $8,%ebx
  215         je      .L002rc5_dec_8
  216         movl    136(%ebp),%eax
  217         subl    %eax,%esi
  218         movl    %edi,%ecx
  219         rorl    %cl,%esi
  220         xorl    %edi,%esi
  221         movl    132(%ebp),%eax
  222         subl    %eax,%edi
  223         movl    %esi,%ecx
  224         rorl    %cl,%edi
  225         xorl    %esi,%edi
  226         movl    128(%ebp),%eax
  227         subl    %eax,%esi
  228         movl    %edi,%ecx
  229         rorl    %cl,%esi
  230         xorl    %edi,%esi
  231         movl    124(%ebp),%eax
  232         subl    %eax,%edi
  233         movl    %esi,%ecx
  234         rorl    %cl,%edi
  235         xorl    %esi,%edi
  236         movl    120(%ebp),%eax
  237         subl    %eax,%esi
  238         movl    %edi,%ecx
  239         rorl    %cl,%esi
  240         xorl    %edi,%esi
  241         movl    116(%ebp),%eax
  242         subl    %eax,%edi
  243         movl    %esi,%ecx
  244         rorl    %cl,%edi
  245         xorl    %esi,%edi
  246         movl    112(%ebp),%eax
  247         subl    %eax,%esi
  248         movl    %edi,%ecx
  249         rorl    %cl,%esi
  250         xorl    %edi,%esi
  251         movl    108(%ebp),%eax
  252         subl    %eax,%edi
  253         movl    %esi,%ecx
  254         rorl    %cl,%edi
  255         xorl    %esi,%edi
  256 .L001rc5_dec_12:
  257         movl    104(%ebp),%eax
  258         subl    %eax,%esi
  259         movl    %edi,%ecx
  260         rorl    %cl,%esi
  261         xorl    %edi,%esi
  262         movl    100(%ebp),%eax
  263         subl    %eax,%edi
  264         movl    %esi,%ecx
  265         rorl    %cl,%edi
  266         xorl    %esi,%edi
  267         movl    96(%ebp),%eax
  268         subl    %eax,%esi
  269         movl    %edi,%ecx
  270         rorl    %cl,%esi
  271         xorl    %edi,%esi
  272         movl    92(%ebp),%eax
  273         subl    %eax,%edi
  274         movl    %esi,%ecx
  275         rorl    %cl,%edi
  276         xorl    %esi,%edi
  277         movl    88(%ebp),%eax
  278         subl    %eax,%esi
  279         movl    %edi,%ecx
  280         rorl    %cl,%esi
  281         xorl    %edi,%esi
  282         movl    84(%ebp),%eax
  283         subl    %eax,%edi
  284         movl    %esi,%ecx
  285         rorl    %cl,%edi
  286         xorl    %esi,%edi
  287         movl    80(%ebp),%eax
  288         subl    %eax,%esi
  289         movl    %edi,%ecx
  290         rorl    %cl,%esi
  291         xorl    %edi,%esi
  292         movl    76(%ebp),%eax
  293         subl    %eax,%edi
  294         movl    %esi,%ecx
  295         rorl    %cl,%edi
  296         xorl    %esi,%edi
  297 .L002rc5_dec_8:
  298         movl    72(%ebp),%eax
  299         subl    %eax,%esi
  300         movl    %edi,%ecx
  301         rorl    %cl,%esi
  302         xorl    %edi,%esi
  303         movl    68(%ebp),%eax
  304         subl    %eax,%edi
  305         movl    %esi,%ecx
  306         rorl    %cl,%edi
  307         xorl    %esi,%edi
  308         movl    64(%ebp),%eax
  309         subl    %eax,%esi
  310         movl    %edi,%ecx
  311         rorl    %cl,%esi
  312         xorl    %edi,%esi
  313         movl    60(%ebp),%eax
  314         subl    %eax,%edi
  315         movl    %esi,%ecx
  316         rorl    %cl,%edi
  317         xorl    %esi,%edi
  318         movl    56(%ebp),%eax
  319         subl    %eax,%esi
  320         movl    %edi,%ecx
  321         rorl    %cl,%esi
  322         xorl    %edi,%esi
  323         movl    52(%ebp),%eax
  324         subl    %eax,%edi
  325         movl    %esi,%ecx
  326         rorl    %cl,%edi
  327         xorl    %esi,%edi
  328         movl    48(%ebp),%eax
  329         subl    %eax,%esi
  330         movl    %edi,%ecx
  331         rorl    %cl,%esi
  332         xorl    %edi,%esi
  333         movl    44(%ebp),%eax
  334         subl    %eax,%edi
  335         movl    %esi,%ecx
  336         rorl    %cl,%edi
  337         xorl    %esi,%edi
  338         movl    40(%ebp),%eax
  339         subl    %eax,%esi
  340         movl    %edi,%ecx
  341         rorl    %cl,%esi
  342         xorl    %edi,%esi
  343         movl    36(%ebp),%eax
  344         subl    %eax,%edi
  345         movl    %esi,%ecx
  346         rorl    %cl,%edi
  347         xorl    %esi,%edi
  348         movl    32(%ebp),%eax
  349         subl    %eax,%esi
  350         movl    %edi,%ecx
  351         rorl    %cl,%esi
  352         xorl    %edi,%esi
  353         movl    28(%ebp),%eax
  354         subl    %eax,%edi
  355         movl    %esi,%ecx
  356         rorl    %cl,%edi
  357         xorl    %esi,%edi
  358         movl    24(%ebp),%eax
  359         subl    %eax,%esi
  360         movl    %edi,%ecx
  361         rorl    %cl,%esi
  362         xorl    %edi,%esi
  363         movl    20(%ebp),%eax
  364         subl    %eax,%edi
  365         movl    %esi,%ecx
  366         rorl    %cl,%edi
  367         xorl    %esi,%edi
  368         movl    16(%ebp),%eax
  369         subl    %eax,%esi
  370         movl    %edi,%ecx
  371         rorl    %cl,%esi
  372         xorl    %edi,%esi
  373         movl    12(%ebp),%eax
  374         subl    %eax,%edi
  375         movl    %esi,%ecx
  376         rorl    %cl,%edi
  377         xorl    %esi,%edi
  378         subl    8(%ebp),%esi
  379         subl    4(%ebp),%edi
  380 .L003rc5_exit:
  381         movl    %edi,(%edx)
  382         movl    %esi,4(%edx)
  383         popl    %ebx
  384         popl    %edi
  385         popl    %esi
  386         popl    %ebp
  387         ret
  388 .size   RC5_32_decrypt,.-.L_RC5_32_decrypt_begin
  389 .globl  RC5_32_cbc_encrypt
  390 .type   RC5_32_cbc_encrypt,@function
  391 .align  16
  392 RC5_32_cbc_encrypt:
  393 .L_RC5_32_cbc_encrypt_begin:
  394 
  395         pushl   %ebp
  396         pushl   %ebx
  397         pushl   %esi
  398         pushl   %edi
  399         movl    28(%esp),%ebp
  400 
  401         movl    36(%esp),%ebx
  402         movl    (%ebx),%esi
  403         movl    4(%ebx),%edi
  404         pushl   %edi
  405         pushl   %esi
  406         pushl   %edi
  407         pushl   %esi
  408         movl    %esp,%ebx
  409         movl    36(%esp),%esi
  410         movl    40(%esp),%edi
  411 
  412         movl    56(%esp),%ecx
  413 
  414         movl    48(%esp),%eax
  415         pushl   %eax
  416         pushl   %ebx
  417         cmpl    $0,%ecx
  418         jz      .L004decrypt
  419         andl    $4294967288,%ebp
  420         movl    8(%esp),%eax
  421         movl    12(%esp),%ebx
  422         jz      .L005encrypt_finish
  423 .L006encrypt_loop:
  424         movl    (%esi),%ecx
  425         movl    4(%esi),%edx
  426         xorl    %ecx,%eax
  427         xorl    %edx,%ebx
  428         movl    %eax,8(%esp)
  429         movl    %ebx,12(%esp)
  430         call    .L_RC5_32_encrypt_begin
  431         movl    8(%esp),%eax
  432         movl    12(%esp),%ebx
  433         movl    %eax,(%edi)
  434         movl    %ebx,4(%edi)
  435         addl    $8,%esi
  436         addl    $8,%edi
  437         subl    $8,%ebp
  438         jnz     .L006encrypt_loop
  439 .L005encrypt_finish:
  440         movl    52(%esp),%ebp
  441         andl    $7,%ebp
  442         jz      .L007finish
  443         call    .L008PIC_point
  444 .L008PIC_point:
  445         popl    %edx
  446         leal    .L009cbc_enc_jmp_table-.L008PIC_point(%edx),%ecx
  447         movl    (%ecx,%ebp,4),%ebp
  448         addl    %edx,%ebp
  449         xorl    %ecx,%ecx
  450         xorl    %edx,%edx
  451         jmp     *%ebp
  452 .L010ej7:
  453         movb    6(%esi),%dh
  454         shll    $8,%edx
  455 .L011ej6:
  456         movb    5(%esi),%dh
  457 .L012ej5:
  458         movb    4(%esi),%dl
  459 .L013ej4:
  460         movl    (%esi),%ecx
  461         jmp     .L014ejend
  462 .L015ej3:
  463         movb    2(%esi),%ch
  464         shll    $8,%ecx
  465 .L016ej2:
  466         movb    1(%esi),%ch
  467 .L017ej1:
  468         movb    (%esi),%cl
  469 .L014ejend:
  470         xorl    %ecx,%eax
  471         xorl    %edx,%ebx
  472         movl    %eax,8(%esp)
  473         movl    %ebx,12(%esp)
  474         call    .L_RC5_32_encrypt_begin
  475         movl    8(%esp),%eax
  476         movl    12(%esp),%ebx
  477         movl    %eax,(%edi)
  478         movl    %ebx,4(%edi)
  479         jmp     .L007finish
  480 .L004decrypt:
  481         andl    $4294967288,%ebp
  482         movl    16(%esp),%eax
  483         movl    20(%esp),%ebx
  484         jz      .L018decrypt_finish
  485 .L019decrypt_loop:
  486         movl    (%esi),%eax
  487         movl    4(%esi),%ebx
  488         movl    %eax,8(%esp)
  489         movl    %ebx,12(%esp)
  490         call    .L_RC5_32_decrypt_begin
  491         movl    8(%esp),%eax
  492         movl    12(%esp),%ebx
  493         movl    16(%esp),%ecx
  494         movl    20(%esp),%edx
  495         xorl    %eax,%ecx
  496         xorl    %ebx,%edx
  497         movl    (%esi),%eax
  498         movl    4(%esi),%ebx
  499         movl    %ecx,(%edi)
  500         movl    %edx,4(%edi)
  501         movl    %eax,16(%esp)
  502         movl    %ebx,20(%esp)
  503         addl    $8,%esi
  504         addl    $8,%edi
  505         subl    $8,%ebp
  506         jnz     .L019decrypt_loop
  507 .L018decrypt_finish:
  508         movl    52(%esp),%ebp
  509         andl    $7,%ebp
  510         jz      .L007finish
  511         movl    (%esi),%eax
  512         movl    4(%esi),%ebx
  513         movl    %eax,8(%esp)
  514         movl    %ebx,12(%esp)
  515         call    .L_RC5_32_decrypt_begin
  516         movl    8(%esp),%eax
  517         movl    12(%esp),%ebx
  518         movl    16(%esp),%ecx
  519         movl    20(%esp),%edx
  520         xorl    %eax,%ecx
  521         xorl    %ebx,%edx
  522         movl    (%esi),%eax
  523         movl    4(%esi),%ebx
  524 .L020dj7:
  525         rorl    $16,%edx
  526         movb    %dl,6(%edi)
  527         shrl    $16,%edx
  528 .L021dj6:
  529         movb    %dh,5(%edi)
  530 .L022dj5:
  531         movb    %dl,4(%edi)
  532 .L023dj4:
  533         movl    %ecx,(%edi)
  534         jmp     .L024djend
  535 .L025dj3:
  536         rorl    $16,%ecx
  537         movb    %cl,2(%edi)
  538         shll    $16,%ecx
  539 .L026dj2:
  540         movb    %ch,1(%esi)
  541 .L027dj1:
  542         movb    %cl,(%esi)
  543 .L024djend:
  544         jmp     .L007finish
  545 .L007finish:
  546         movl    60(%esp),%ecx
  547         addl    $24,%esp
  548         movl    %eax,(%ecx)
  549         movl    %ebx,4(%ecx)
  550         popl    %edi
  551         popl    %esi
  552         popl    %ebx
  553         popl    %ebp
  554         ret
  555 .align  64
  556 .L009cbc_enc_jmp_table:
  557 .long   0
  558 .long   .L017ej1-.L008PIC_point
  559 .long   .L016ej2-.L008PIC_point
  560 .long   .L015ej3-.L008PIC_point
  561 .long   .L013ej4-.L008PIC_point
  562 .long   .L012ej5-.L008PIC_point
  563 .long   .L011ej6-.L008PIC_point
  564 .long   .L010ej7-.L008PIC_point
  565 .align  64
  566 .size   RC5_32_cbc_encrypt,.-.L_RC5_32_cbc_encrypt_begin
  567 #else
  568 .text
  569 .globl  RC5_32_encrypt
  570 .type   RC5_32_encrypt,@function
  571 .align  16
  572 RC5_32_encrypt:
  573 .L_RC5_32_encrypt_begin:
  574 
  575         pushl   %ebp
  576         pushl   %esi
  577         pushl   %edi
  578         movl    16(%esp),%edx
  579         movl    20(%esp),%ebp
  580 
  581         movl    (%edx),%edi
  582         movl    4(%edx),%esi
  583         pushl   %ebx
  584         movl    (%ebp),%ebx
  585         addl    4(%ebp),%edi
  586         addl    8(%ebp),%esi
  587         xorl    %esi,%edi
  588         movl    12(%ebp),%eax
  589         movl    %esi,%ecx
  590         roll    %cl,%edi
  591         addl    %eax,%edi
  592         xorl    %edi,%esi
  593         movl    16(%ebp),%eax
  594         movl    %edi,%ecx
  595         roll    %cl,%esi
  596         addl    %eax,%esi
  597         xorl    %esi,%edi
  598         movl    20(%ebp),%eax
  599         movl    %esi,%ecx
  600         roll    %cl,%edi
  601         addl    %eax,%edi
  602         xorl    %edi,%esi
  603         movl    24(%ebp),%eax
  604         movl    %edi,%ecx
  605         roll    %cl,%esi
  606         addl    %eax,%esi
  607         xorl    %esi,%edi
  608         movl    28(%ebp),%eax
  609         movl    %esi,%ecx
  610         roll    %cl,%edi
  611         addl    %eax,%edi
  612         xorl    %edi,%esi
  613         movl    32(%ebp),%eax
  614         movl    %edi,%ecx
  615         roll    %cl,%esi
  616         addl    %eax,%esi
  617         xorl    %esi,%edi
  618         movl    36(%ebp),%eax
  619         movl    %esi,%ecx
  620         roll    %cl,%edi
  621         addl    %eax,%edi
  622         xorl    %edi,%esi
  623         movl    40(%ebp),%eax
  624         movl    %edi,%ecx
  625         roll    %cl,%esi
  626         addl    %eax,%esi
  627         xorl    %esi,%edi
  628         movl    44(%ebp),%eax
  629         movl    %esi,%ecx
  630         roll    %cl,%edi
  631         addl    %eax,%edi
  632         xorl    %edi,%esi
  633         movl    48(%ebp),%eax
  634         movl    %edi,%ecx
  635         roll    %cl,%esi
  636         addl    %eax,%esi
  637         xorl    %esi,%edi
  638         movl    52(%ebp),%eax
  639         movl    %esi,%ecx
  640         roll    %cl,%edi
  641         addl    %eax,%edi
  642         xorl    %edi,%esi
  643         movl    56(%ebp),%eax
  644         movl    %edi,%ecx
  645         roll    %cl,%esi
  646         addl    %eax,%esi
  647         xorl    %esi,%edi
  648         movl    60(%ebp),%eax
  649         movl    %esi,%ecx
  650         roll    %cl,%edi
  651         addl    %eax,%edi
  652         xorl    %edi,%esi
  653         movl    64(%ebp),%eax
  654         movl    %edi,%ecx
  655         roll    %cl,%esi
  656         addl    %eax,%esi
  657         xorl    %esi,%edi
  658         movl    68(%ebp),%eax
  659         movl    %esi,%ecx
  660         roll    %cl,%edi
  661         addl    %eax,%edi
  662         xorl    %edi,%esi
  663         movl    72(%ebp),%eax
  664         movl    %edi,%ecx
  665         roll    %cl,%esi
  666         addl    %eax,%esi
  667         cmpl    $8,%ebx
  668         je      .L000rc5_exit
  669         xorl    %esi,%edi
  670         movl    76(%ebp),%eax
  671         movl    %esi,%ecx
  672         roll    %cl,%edi
  673         addl    %eax,%edi
  674         xorl    %edi,%esi
  675         movl    80(%ebp),%eax
  676         movl    %edi,%ecx
  677         roll    %cl,%esi
  678         addl    %eax,%esi
  679         xorl    %esi,%edi
  680         movl    84(%ebp),%eax
  681         movl    %esi,%ecx
  682         roll    %cl,%edi
  683         addl    %eax,%edi
  684         xorl    %edi,%esi
  685         movl    88(%ebp),%eax
  686         movl    %edi,%ecx
  687         roll    %cl,%esi
  688         addl    %eax,%esi
  689         xorl    %esi,%edi
  690         movl    92(%ebp),%eax
  691         movl    %esi,%ecx
  692         roll    %cl,%edi
  693         addl    %eax,%edi
  694         xorl    %edi,%esi
  695         movl    96(%ebp),%eax
  696         movl    %edi,%ecx
  697         roll    %cl,%esi
  698         addl    %eax,%esi
  699         xorl    %esi,%edi
  700         movl    100(%ebp),%eax
  701         movl    %esi,%ecx
  702         roll    %cl,%edi
  703         addl    %eax,%edi
  704         xorl    %edi,%esi
  705         movl    104(%ebp),%eax
  706         movl    %edi,%ecx
  707         roll    %cl,%esi
  708         addl    %eax,%esi
  709         cmpl    $12,%ebx
  710         je      .L000rc5_exit
  711         xorl    %esi,%edi
  712         movl    108(%ebp),%eax
  713         movl    %esi,%ecx
  714         roll    %cl,%edi
  715         addl    %eax,%edi
  716         xorl    %edi,%esi
  717         movl    112(%ebp),%eax
  718         movl    %edi,%ecx
  719         roll    %cl,%esi
  720         addl    %eax,%esi
  721         xorl    %esi,%edi
  722         movl    116(%ebp),%eax
  723         movl    %esi,%ecx
  724         roll    %cl,%edi
  725         addl    %eax,%edi
  726         xorl    %edi,%esi
  727         movl    120(%ebp),%eax
  728         movl    %edi,%ecx
  729         roll    %cl,%esi
  730         addl    %eax,%esi
  731         xorl    %esi,%edi
  732         movl    124(%ebp),%eax
  733         movl    %esi,%ecx
  734         roll    %cl,%edi
  735         addl    %eax,%edi
  736         xorl    %edi,%esi
  737         movl    128(%ebp),%eax
  738         movl    %edi,%ecx
  739         roll    %cl,%esi
  740         addl    %eax,%esi
  741         xorl    %esi,%edi
  742         movl    132(%ebp),%eax
  743         movl    %esi,%ecx
  744         roll    %cl,%edi
  745         addl    %eax,%edi
  746         xorl    %edi,%esi
  747         movl    136(%ebp),%eax
  748         movl    %edi,%ecx
  749         roll    %cl,%esi
  750         addl    %eax,%esi
  751 .L000rc5_exit:
  752         movl    %edi,(%edx)
  753         movl    %esi,4(%edx)
  754         popl    %ebx
  755         popl    %edi
  756         popl    %esi
  757         popl    %ebp
  758         ret
  759 .size   RC5_32_encrypt,.-.L_RC5_32_encrypt_begin
  760 .globl  RC5_32_decrypt
  761 .type   RC5_32_decrypt,@function
  762 .align  16
  763 RC5_32_decrypt:
  764 .L_RC5_32_decrypt_begin:
  765 
  766         pushl   %ebp
  767         pushl   %esi
  768         pushl   %edi
  769         movl    16(%esp),%edx
  770         movl    20(%esp),%ebp
  771 
  772         movl    (%edx),%edi
  773         movl    4(%edx),%esi
  774         pushl   %ebx
  775         movl    (%ebp),%ebx
  776         cmpl    $12,%ebx
  777         je      .L001rc5_dec_12
  778         cmpl    $8,%ebx
  779         je      .L002rc5_dec_8
  780         movl    136(%ebp),%eax
  781         subl    %eax,%esi
  782         movl    %edi,%ecx
  783         rorl    %cl,%esi
  784         xorl    %edi,%esi
  785         movl    132(%ebp),%eax
  786         subl    %eax,%edi
  787         movl    %esi,%ecx
  788         rorl    %cl,%edi
  789         xorl    %esi,%edi
  790         movl    128(%ebp),%eax
  791         subl    %eax,%esi
  792         movl    %edi,%ecx
  793         rorl    %cl,%esi
  794         xorl    %edi,%esi
  795         movl    124(%ebp),%eax
  796         subl    %eax,%edi
  797         movl    %esi,%ecx
  798         rorl    %cl,%edi
  799         xorl    %esi,%edi
  800         movl    120(%ebp),%eax
  801         subl    %eax,%esi
  802         movl    %edi,%ecx
  803         rorl    %cl,%esi
  804         xorl    %edi,%esi
  805         movl    116(%ebp),%eax
  806         subl    %eax,%edi
  807         movl    %esi,%ecx
  808         rorl    %cl,%edi
  809         xorl    %esi,%edi
  810         movl    112(%ebp),%eax
  811         subl    %eax,%esi
  812         movl    %edi,%ecx
  813         rorl    %cl,%esi
  814         xorl    %edi,%esi
  815         movl    108(%ebp),%eax
  816         subl    %eax,%edi
  817         movl    %esi,%ecx
  818         rorl    %cl,%edi
  819         xorl    %esi,%edi
  820 .L001rc5_dec_12:
  821         movl    104(%ebp),%eax
  822         subl    %eax,%esi
  823         movl    %edi,%ecx
  824         rorl    %cl,%esi
  825         xorl    %edi,%esi
  826         movl    100(%ebp),%eax
  827         subl    %eax,%edi
  828         movl    %esi,%ecx
  829         rorl    %cl,%edi
  830         xorl    %esi,%edi
  831         movl    96(%ebp),%eax
  832         subl    %eax,%esi
  833         movl    %edi,%ecx
  834         rorl    %cl,%esi
  835         xorl    %edi,%esi
  836         movl    92(%ebp),%eax
  837         subl    %eax,%edi
  838         movl    %esi,%ecx
  839         rorl    %cl,%edi
  840         xorl    %esi,%edi
  841         movl    88(%ebp),%eax
  842         subl    %eax,%esi
  843         movl    %edi,%ecx
  844         rorl    %cl,%esi
  845         xorl    %edi,%esi
  846         movl    84(%ebp),%eax
  847         subl    %eax,%edi
  848         movl    %esi,%ecx
  849         rorl    %cl,%edi
  850         xorl    %esi,%edi
  851         movl    80(%ebp),%eax
  852         subl    %eax,%esi
  853         movl    %edi,%ecx
  854         rorl    %cl,%esi
  855         xorl    %edi,%esi
  856         movl    76(%ebp),%eax
  857         subl    %eax,%edi
  858         movl    %esi,%ecx
  859         rorl    %cl,%edi
  860         xorl    %esi,%edi
  861 .L002rc5_dec_8:
  862         movl    72(%ebp),%eax
  863         subl    %eax,%esi
  864         movl    %edi,%ecx
  865         rorl    %cl,%esi
  866         xorl    %edi,%esi
  867         movl    68(%ebp),%eax
  868         subl    %eax,%edi
  869         movl    %esi,%ecx
  870         rorl    %cl,%edi
  871         xorl    %esi,%edi
  872         movl    64(%ebp),%eax
  873         subl    %eax,%esi
  874         movl    %edi,%ecx
  875         rorl    %cl,%esi
  876         xorl    %edi,%esi
  877         movl    60(%ebp),%eax
  878         subl    %eax,%edi
  879         movl    %esi,%ecx
  880         rorl    %cl,%edi
  881         xorl    %esi,%edi
  882         movl    56(%ebp),%eax
  883         subl    %eax,%esi
  884         movl    %edi,%ecx
  885         rorl    %cl,%esi
  886         xorl    %edi,%esi
  887         movl    52(%ebp),%eax
  888         subl    %eax,%edi
  889         movl    %esi,%ecx
  890         rorl    %cl,%edi
  891         xorl    %esi,%edi
  892         movl    48(%ebp),%eax
  893         subl    %eax,%esi
  894         movl    %edi,%ecx
  895         rorl    %cl,%esi
  896         xorl    %edi,%esi
  897         movl    44(%ebp),%eax
  898         subl    %eax,%edi
  899         movl    %esi,%ecx
  900         rorl    %cl,%edi
  901         xorl    %esi,%edi
  902         movl    40(%ebp),%eax
  903         subl    %eax,%esi
  904         movl    %edi,%ecx
  905         rorl    %cl,%esi
  906         xorl    %edi,%esi
  907         movl    36(%ebp),%eax
  908         subl    %eax,%edi
  909         movl    %esi,%ecx
  910         rorl    %cl,%edi
  911         xorl    %esi,%edi
  912         movl    32(%ebp),%eax
  913         subl    %eax,%esi
  914         movl    %edi,%ecx
  915         rorl    %cl,%esi
  916         xorl    %edi,%esi
  917         movl    28(%ebp),%eax
  918         subl    %eax,%edi
  919         movl    %esi,%ecx
  920         rorl    %cl,%edi
  921         xorl    %esi,%edi
  922         movl    24(%ebp),%eax
  923         subl    %eax,%esi
  924         movl    %edi,%ecx
  925         rorl    %cl,%esi
  926         xorl    %edi,%esi
  927         movl    20(%ebp),%eax
  928         subl    %eax,%edi
  929         movl    %esi,%ecx
  930         rorl    %cl,%edi
  931         xorl    %esi,%edi
  932         movl    16(%ebp),%eax
  933         subl    %eax,%esi
  934         movl    %edi,%ecx
  935         rorl    %cl,%esi
  936         xorl    %edi,%esi
  937         movl    12(%ebp),%eax
  938         subl    %eax,%edi
  939         movl    %esi,%ecx
  940         rorl    %cl,%edi
  941         xorl    %esi,%edi
  942         subl    8(%ebp),%esi
  943         subl    4(%ebp),%edi
  944 .L003rc5_exit:
  945         movl    %edi,(%edx)
  946         movl    %esi,4(%edx)
  947         popl    %ebx
  948         popl    %edi
  949         popl    %esi
  950         popl    %ebp
  951         ret
  952 .size   RC5_32_decrypt,.-.L_RC5_32_decrypt_begin
  953 .globl  RC5_32_cbc_encrypt
  954 .type   RC5_32_cbc_encrypt,@function
  955 .align  16
  956 RC5_32_cbc_encrypt:
  957 .L_RC5_32_cbc_encrypt_begin:
  958 
  959         pushl   %ebp
  960         pushl   %ebx
  961         pushl   %esi
  962         pushl   %edi
  963         movl    28(%esp),%ebp
  964 
  965         movl    36(%esp),%ebx
  966         movl    (%ebx),%esi
  967         movl    4(%ebx),%edi
  968         pushl   %edi
  969         pushl   %esi
  970         pushl   %edi
  971         pushl   %esi
  972         movl    %esp,%ebx
  973         movl    36(%esp),%esi
  974         movl    40(%esp),%edi
  975 
  976         movl    56(%esp),%ecx
  977 
  978         movl    48(%esp),%eax
  979         pushl   %eax
  980         pushl   %ebx
  981         cmpl    $0,%ecx
  982         jz      .L004decrypt
  983         andl    $4294967288,%ebp
  984         movl    8(%esp),%eax
  985         movl    12(%esp),%ebx
  986         jz      .L005encrypt_finish
  987 .L006encrypt_loop:
  988         movl    (%esi),%ecx
  989         movl    4(%esi),%edx
  990         xorl    %ecx,%eax
  991         xorl    %edx,%ebx
  992         movl    %eax,8(%esp)
  993         movl    %ebx,12(%esp)
  994         call    .L_RC5_32_encrypt_begin
  995         movl    8(%esp),%eax
  996         movl    12(%esp),%ebx
  997         movl    %eax,(%edi)
  998         movl    %ebx,4(%edi)
  999         addl    $8,%esi
 1000         addl    $8,%edi
 1001         subl    $8,%ebp
 1002         jnz     .L006encrypt_loop
 1003 .L005encrypt_finish:
 1004         movl    52(%esp),%ebp
 1005         andl    $7,%ebp
 1006         jz      .L007finish
 1007         call    .L008PIC_point
 1008 .L008PIC_point:
 1009         popl    %edx
 1010         leal    .L009cbc_enc_jmp_table-.L008PIC_point(%edx),%ecx
 1011         movl    (%ecx,%ebp,4),%ebp
 1012         addl    %edx,%ebp
 1013         xorl    %ecx,%ecx
 1014         xorl    %edx,%edx
 1015         jmp     *%ebp
 1016 .L010ej7:
 1017         movb    6(%esi),%dh
 1018         shll    $8,%edx
 1019 .L011ej6:
 1020         movb    5(%esi),%dh
 1021 .L012ej5:
 1022         movb    4(%esi),%dl
 1023 .L013ej4:
 1024         movl    (%esi),%ecx
 1025         jmp     .L014ejend
 1026 .L015ej3:
 1027         movb    2(%esi),%ch
 1028         shll    $8,%ecx
 1029 .L016ej2:
 1030         movb    1(%esi),%ch
 1031 .L017ej1:
 1032         movb    (%esi),%cl
 1033 .L014ejend:
 1034         xorl    %ecx,%eax
 1035         xorl    %edx,%ebx
 1036         movl    %eax,8(%esp)
 1037         movl    %ebx,12(%esp)
 1038         call    .L_RC5_32_encrypt_begin
 1039         movl    8(%esp),%eax
 1040         movl    12(%esp),%ebx
 1041         movl    %eax,(%edi)
 1042         movl    %ebx,4(%edi)
 1043         jmp     .L007finish
 1044 .L004decrypt:
 1045         andl    $4294967288,%ebp
 1046         movl    16(%esp),%eax
 1047         movl    20(%esp),%ebx
 1048         jz      .L018decrypt_finish
 1049 .L019decrypt_loop:
 1050         movl    (%esi),%eax
 1051         movl    4(%esi),%ebx
 1052         movl    %eax,8(%esp)
 1053         movl    %ebx,12(%esp)
 1054         call    .L_RC5_32_decrypt_begin
 1055         movl    8(%esp),%eax
 1056         movl    12(%esp),%ebx
 1057         movl    16(%esp),%ecx
 1058         movl    20(%esp),%edx
 1059         xorl    %eax,%ecx
 1060         xorl    %ebx,%edx
 1061         movl    (%esi),%eax
 1062         movl    4(%esi),%ebx
 1063         movl    %ecx,(%edi)
 1064         movl    %edx,4(%edi)
 1065         movl    %eax,16(%esp)
 1066         movl    %ebx,20(%esp)
 1067         addl    $8,%esi
 1068         addl    $8,%edi
 1069         subl    $8,%ebp
 1070         jnz     .L019decrypt_loop
 1071 .L018decrypt_finish:
 1072         movl    52(%esp),%ebp
 1073         andl    $7,%ebp
 1074         jz      .L007finish
 1075         movl    (%esi),%eax
 1076         movl    4(%esi),%ebx
 1077         movl    %eax,8(%esp)
 1078         movl    %ebx,12(%esp)
 1079         call    .L_RC5_32_decrypt_begin
 1080         movl    8(%esp),%eax
 1081         movl    12(%esp),%ebx
 1082         movl    16(%esp),%ecx
 1083         movl    20(%esp),%edx
 1084         xorl    %eax,%ecx
 1085         xorl    %ebx,%edx
 1086         movl    (%esi),%eax
 1087         movl    4(%esi),%ebx
 1088 .L020dj7:
 1089         rorl    $16,%edx
 1090         movb    %dl,6(%edi)
 1091         shrl    $16,%edx
 1092 .L021dj6:
 1093         movb    %dh,5(%edi)
 1094 .L022dj5:
 1095         movb    %dl,4(%edi)
 1096 .L023dj4:
 1097         movl    %ecx,(%edi)
 1098         jmp     .L024djend
 1099 .L025dj3:
 1100         rorl    $16,%ecx
 1101         movb    %cl,2(%edi)
 1102         shll    $16,%ecx
 1103 .L026dj2:
 1104         movb    %ch,1(%esi)
 1105 .L027dj1:
 1106         movb    %cl,(%esi)
 1107 .L024djend:
 1108         jmp     .L007finish
 1109 .L007finish:
 1110         movl    60(%esp),%ecx
 1111         addl    $24,%esp
 1112         movl    %eax,(%ecx)
 1113         movl    %ebx,4(%ecx)
 1114         popl    %edi
 1115         popl    %esi
 1116         popl    %ebx
 1117         popl    %ebp
 1118         ret
 1119 .align  64
 1120 .L009cbc_enc_jmp_table:
 1121 .long   0
 1122 .long   .L017ej1-.L008PIC_point
 1123 .long   .L016ej2-.L008PIC_point
 1124 .long   .L015ej3-.L008PIC_point
 1125 .long   .L013ej4-.L008PIC_point
 1126 .long   .L012ej5-.L008PIC_point
 1127 .long   .L011ej6-.L008PIC_point
 1128 .long   .L010ej7-.L008PIC_point
 1129 .align  64
 1130 .size   RC5_32_cbc_encrypt,.-.L_RC5_32_cbc_encrypt_begin
 1131 #endif

Cache object: f4f61a76a1c124e99aa702a49df5eff7


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