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/powerpc/ghashp8-ppc.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 ghashp8-ppc.pl. */
    3 .machine        "any"
    4 
    5 .text
    6 
    7 .globl  gcm_init_p8
    8 .type   gcm_init_p8,@function
    9 .align  5
   10 gcm_init_p8:
   11         li      0,-4096
   12         li      8,0x10
   13         mfspr   12,256
   14         li      9,0x20
   15         mtspr   256,0
   16         li      10,0x30
   17         .long   0x7D202699
   18 
   19         vspltisb        8,-16
   20         vspltisb        5,1
   21         vaddubm 8,8,8
   22         vxor    4,4,4
   23         vor     8,8,5
   24         vsldoi  8,8,4,15
   25         vsldoi  6,4,5,1
   26         vaddubm 8,8,8
   27         vspltisb        7,7
   28         vor     8,8,6
   29         vspltb  6,9,0
   30         vsl     9,9,5
   31         vsrab   6,6,7
   32         vand    6,6,8
   33         vxor    3,9,6
   34 
   35         vsldoi  9,3,3,8
   36         vsldoi  8,4,8,8
   37         vsldoi  11,4,9,8
   38         vsldoi  10,9,4,8
   39 
   40         .long   0x7D001F99
   41         .long   0x7D681F99
   42         li      8,0x40
   43         .long   0x7D291F99
   44         li      9,0x50
   45         .long   0x7D4A1F99
   46         li      10,0x60
   47 
   48         .long   0x10035CC8
   49         .long   0x10234CC8
   50         .long   0x104354C8
   51 
   52         .long   0x10E044C8
   53 
   54         vsldoi  5,1,4,8
   55         vsldoi  6,4,1,8
   56         vxor    0,0,5
   57         vxor    2,2,6
   58 
   59         vsldoi  0,0,0,8
   60         vxor    0,0,7
   61 
   62         vsldoi  6,0,0,8
   63         .long   0x100044C8
   64         vxor    6,6,2
   65         vxor    16,0,6
   66 
   67         vsldoi  17,16,16,8
   68         vsldoi  19,4,17,8
   69         vsldoi  18,17,4,8
   70 
   71         .long   0x7E681F99
   72         li      8,0x70
   73         .long   0x7E291F99
   74         li      9,0x80
   75         .long   0x7E4A1F99
   76         li      10,0x90
   77         .long   0x10039CC8
   78         .long   0x11B09CC8
   79         .long   0x10238CC8
   80         .long   0x11D08CC8
   81         .long   0x104394C8
   82         .long   0x11F094C8
   83 
   84         .long   0x10E044C8
   85         .long   0x114D44C8
   86 
   87         vsldoi  5,1,4,8
   88         vsldoi  6,4,1,8
   89         vsldoi  11,14,4,8
   90         vsldoi  9,4,14,8
   91         vxor    0,0,5
   92         vxor    2,2,6
   93         vxor    13,13,11
   94         vxor    15,15,9
   95 
   96         vsldoi  0,0,0,8
   97         vsldoi  13,13,13,8
   98         vxor    0,0,7
   99         vxor    13,13,10
  100 
  101         vsldoi  6,0,0,8
  102         vsldoi  9,13,13,8
  103         .long   0x100044C8
  104         .long   0x11AD44C8
  105         vxor    6,6,2
  106         vxor    9,9,15
  107         vxor    0,0,6
  108         vxor    13,13,9
  109 
  110         vsldoi  9,0,0,8
  111         vsldoi  17,13,13,8
  112         vsldoi  11,4,9,8
  113         vsldoi  10,9,4,8
  114         vsldoi  19,4,17,8
  115         vsldoi  18,17,4,8
  116 
  117         .long   0x7D681F99
  118         li      8,0xa0
  119         .long   0x7D291F99
  120         li      9,0xb0
  121         .long   0x7D4A1F99
  122         li      10,0xc0
  123         .long   0x7E681F99
  124         .long   0x7E291F99
  125         .long   0x7E4A1F99
  126 
  127         mtspr   256,12
  128         blr     
  129 .long   0
  130 .byte   0,12,0x14,0,0,0,2,0
  131 .long   0
  132 .size   gcm_init_p8,.-gcm_init_p8
  133 .globl  gcm_gmult_p8
  134 .type   gcm_gmult_p8,@function
  135 .align  5
  136 gcm_gmult_p8:
  137         lis     0,0xfff8
  138         li      8,0x10
  139         mfspr   12,256
  140         li      9,0x20
  141         mtspr   256,0
  142         li      10,0x30
  143         .long   0x7C601E99
  144 
  145         .long   0x7D682699
  146 
  147         .long   0x7D292699
  148 
  149         .long   0x7D4A2699
  150 
  151         .long   0x7D002699
  152 
  153         vxor    4,4,4
  154 
  155         .long   0x10035CC8
  156         .long   0x10234CC8
  157         .long   0x104354C8
  158 
  159         .long   0x10E044C8
  160 
  161         vsldoi  5,1,4,8
  162         vsldoi  6,4,1,8
  163         vxor    0,0,5
  164         vxor    2,2,6
  165 
  166         vsldoi  0,0,0,8
  167         vxor    0,0,7
  168 
  169         vsldoi  6,0,0,8
  170         .long   0x100044C8
  171         vxor    6,6,2
  172         vxor    0,0,6
  173 
  174 
  175         .long   0x7C001F99
  176 
  177         mtspr   256,12
  178         blr     
  179 .long   0
  180 .byte   0,12,0x14,0,0,0,2,0
  181 .long   0
  182 .size   gcm_gmult_p8,.-gcm_gmult_p8
  183 
  184 .globl  gcm_ghash_p8
  185 .type   gcm_ghash_p8,@function
  186 .align  5
  187 gcm_ghash_p8:
  188         li      0,-4096
  189         li      8,0x10
  190         mfspr   12,256
  191         li      9,0x20
  192         mtspr   256,0
  193         li      10,0x30
  194         .long   0x7C001E99
  195 
  196         .long   0x7D682699
  197         li      8,0x40
  198 
  199         .long   0x7D292699
  200         li      9,0x50
  201 
  202         .long   0x7D4A2699
  203         li      10,0x60
  204 
  205         .long   0x7D002699
  206 
  207         vxor    4,4,4
  208 
  209         cmplwi  6,64
  210         bge     .Lgcm_ghash_p8_4x
  211 
  212         .long   0x7C602E99
  213         addi    5,5,16
  214         subic.  6,6,16
  215 
  216         vxor    3,3,0
  217         beq     .Lshort
  218 
  219         .long   0x7E682699
  220         li      8,16
  221         .long   0x7E292699
  222         add     9,5,6
  223         .long   0x7E4A2699
  224         b       .Loop_2x
  225 
  226 .align  5
  227 .Loop_2x:
  228         .long   0x7E002E99
  229 
  230 
  231         subic   6,6,32
  232         .long   0x10039CC8
  233         .long   0x11B05CC8
  234         subfe   0,0,0
  235         .long   0x10238CC8
  236         .long   0x11D04CC8
  237         and     0,0,6
  238         .long   0x104394C8
  239         .long   0x11F054C8
  240         add     5,5,0
  241 
  242         vxor    0,0,13
  243         vxor    1,1,14
  244 
  245         .long   0x10E044C8
  246 
  247         vsldoi  5,1,4,8
  248         vsldoi  6,4,1,8
  249         vxor    2,2,15
  250         vxor    0,0,5
  251         vxor    2,2,6
  252 
  253         vsldoi  0,0,0,8
  254         vxor    0,0,7
  255         .long   0x7C682E99
  256         addi    5,5,32
  257 
  258         vsldoi  6,0,0,8
  259         .long   0x100044C8
  260 
  261         vxor    6,6,2
  262         vxor    3,3,6
  263         vxor    3,3,0
  264         .long   0x7c092840
  265         bgt     .Loop_2x
  266 
  267         cmplwi  6,0
  268         bne     .Leven
  269 
  270 .Lshort:
  271         .long   0x10035CC8
  272         .long   0x10234CC8
  273         .long   0x104354C8
  274 
  275         .long   0x10E044C8
  276 
  277         vsldoi  5,1,4,8
  278         vsldoi  6,4,1,8
  279         vxor    0,0,5
  280         vxor    2,2,6
  281 
  282         vsldoi  0,0,0,8
  283         vxor    0,0,7
  284 
  285         vsldoi  6,0,0,8
  286         .long   0x100044C8
  287         vxor    6,6,2
  288 
  289 .Leven:
  290         vxor    0,0,6
  291 
  292         .long   0x7C001F99
  293 
  294         mtspr   256,12
  295         blr     
  296 .long   0
  297 .byte   0,12,0x14,0,0,0,4,0
  298 .long   0
  299 .align  5
  300 .gcm_ghash_p8_4x:
  301 .Lgcm_ghash_p8_4x:
  302         stwu    1,-232(1)
  303         li      10,39
  304         li      11,55
  305         stvx    20,10,1
  306         addi    10,10,32
  307         stvx    21,11,1
  308         addi    11,11,32
  309         stvx    22,10,1
  310         addi    10,10,32
  311         stvx    23,11,1
  312         addi    11,11,32
  313         stvx    24,10,1
  314         addi    10,10,32
  315         stvx    25,11,1
  316         addi    11,11,32
  317         stvx    26,10,1
  318         addi    10,10,32
  319         stvx    27,11,1
  320         addi    11,11,32
  321         stvx    28,10,1
  322         addi    10,10,32
  323         stvx    29,11,1
  324         addi    11,11,32
  325         stvx    30,10,1
  326         li      10,0x60
  327         stvx    31,11,1
  328         li      0,-1
  329         stw     12,228(1)
  330         mtspr   256,0
  331 
  332         lvsl    5,0,8
  333 
  334         li      8,0x70
  335         .long   0x7E292699
  336         li      9,0x80
  337         vspltisb        6,8
  338 
  339         li      10,0x90
  340         .long   0x7EE82699
  341         li      8,0xa0
  342         .long   0x7F092699
  343         li      9,0xb0
  344         .long   0x7F2A2699
  345         li      10,0xc0
  346         .long   0x7FA82699
  347         li      8,0x10
  348         .long   0x7FC92699
  349         li      9,0x20
  350         .long   0x7FEA2699
  351         li      10,0x30
  352 
  353         vsldoi  7,4,6,8
  354         vaddubm 18,5,7
  355         vaddubm 19,6,18
  356 
  357         srwi    6,6,4
  358 
  359         .long   0x7C602E99
  360         .long   0x7E082E99
  361         subic.  6,6,8
  362         .long   0x7EC92E99
  363         .long   0x7F8A2E99
  364         addi    5,5,0x40
  365 
  366 
  367 
  368 
  369 
  370         vxor    2,3,0
  371 
  372         .long   0x11B0BCC8
  373         .long   0x11D0C4C8
  374         .long   0x11F0CCC8
  375 
  376         vperm   11,17,9,18
  377         vperm   5,22,28,19
  378         vperm   10,17,9,19
  379         vperm   6,22,28,18
  380         .long   0x12B68CC8
  381         .long   0x12855CC8
  382         .long   0x137C4CC8
  383         .long   0x134654C8
  384 
  385         vxor    21,21,14
  386         vxor    20,20,13
  387         vxor    27,27,21
  388         vxor    26,26,15
  389 
  390         blt     .Ltail_4x
  391 
  392 .Loop_4x:
  393         .long   0x7C602E99
  394         .long   0x7E082E99
  395         subic.  6,6,4
  396         .long   0x7EC92E99
  397         .long   0x7F8A2E99
  398         addi    5,5,0x40
  399 
  400 
  401 
  402 
  403 
  404         .long   0x1002ECC8
  405         .long   0x1022F4C8
  406         .long   0x1042FCC8
  407         .long   0x11B0BCC8
  408         .long   0x11D0C4C8
  409         .long   0x11F0CCC8
  410 
  411         vxor    0,0,20
  412         vxor    1,1,27
  413         vxor    2,2,26
  414         vperm   5,22,28,19
  415         vperm   6,22,28,18
  416 
  417         .long   0x10E044C8
  418         .long   0x12855CC8
  419         .long   0x134654C8
  420 
  421         vsldoi  5,1,4,8
  422         vsldoi  6,4,1,8
  423         vxor    0,0,5
  424         vxor    2,2,6
  425 
  426         vsldoi  0,0,0,8
  427         vxor    0,0,7
  428 
  429         vsldoi  6,0,0,8
  430         .long   0x12B68CC8
  431         .long   0x137C4CC8
  432         .long   0x100044C8
  433 
  434         vxor    20,20,13
  435         vxor    26,26,15
  436         vxor    2,2,3
  437         vxor    21,21,14
  438         vxor    2,2,6
  439         vxor    27,27,21
  440         vxor    2,2,0
  441         bge     .Loop_4x
  442 
  443 .Ltail_4x:
  444         .long   0x1002ECC8
  445         .long   0x1022F4C8
  446         .long   0x1042FCC8
  447 
  448         vxor    0,0,20
  449         vxor    1,1,27
  450 
  451         .long   0x10E044C8
  452 
  453         vsldoi  5,1,4,8
  454         vsldoi  6,4,1,8
  455         vxor    2,2,26
  456         vxor    0,0,5
  457         vxor    2,2,6
  458 
  459         vsldoi  0,0,0,8
  460         vxor    0,0,7
  461 
  462         vsldoi  6,0,0,8
  463         .long   0x100044C8
  464         vxor    6,6,2
  465         vxor    0,0,6
  466 
  467         addic.  6,6,4
  468         beq     .Ldone_4x
  469 
  470         .long   0x7C602E99
  471         cmplwi  6,2
  472         li      6,-4
  473         blt     .Lone
  474         .long   0x7E082E99
  475         beq     .Ltwo
  476 
  477 .Lthree:
  478         .long   0x7EC92E99
  479 
  480 
  481 
  482 
  483         vxor    2,3,0
  484         vor     29,23,23
  485         vor     30,24,24
  486         vor     31,25,25
  487 
  488         vperm   5,16,22,19
  489         vperm   6,16,22,18
  490         .long   0x12B08CC8
  491         .long   0x13764CC8
  492         .long   0x12855CC8
  493         .long   0x134654C8
  494 
  495         vxor    27,27,21
  496         b       .Ltail_4x
  497 
  498 .align  4
  499 .Ltwo:
  500 
  501 
  502 
  503         vxor    2,3,0
  504         vperm   5,4,16,19
  505         vperm   6,4,16,18
  506 
  507         vsldoi  29,4,17,8
  508         vor     30,17,17
  509         vsldoi  31,17,4,8
  510 
  511         .long   0x12855CC8
  512         .long   0x13704CC8
  513         .long   0x134654C8
  514 
  515         b       .Ltail_4x
  516 
  517 .align  4
  518 .Lone:
  519 
  520 
  521         vsldoi  29,4,9,8
  522         vor     30,9,9
  523         vsldoi  31,9,4,8
  524 
  525         vxor    2,3,0
  526         vxor    20,20,20
  527         vxor    27,27,27
  528         vxor    26,26,26
  529 
  530         b       .Ltail_4x
  531 
  532 .Ldone_4x:
  533 
  534         .long   0x7C001F99
  535 
  536         li      10,39
  537         li      11,55
  538         mtspr   256,12
  539         lvx     20,10,1
  540         addi    10,10,32
  541         lvx     21,11,1
  542         addi    11,11,32
  543         lvx     22,10,1
  544         addi    10,10,32
  545         lvx     23,11,1
  546         addi    11,11,32
  547         lvx     24,10,1
  548         addi    10,10,32
  549         lvx     25,11,1
  550         addi    11,11,32
  551         lvx     26,10,1
  552         addi    10,10,32
  553         lvx     27,11,1
  554         addi    11,11,32
  555         lvx     28,10,1
  556         addi    10,10,32
  557         lvx     29,11,1
  558         addi    11,11,32
  559         lvx     30,10,1
  560         lvx     31,11,1
  561         addi    1,1,232
  562         blr     
  563 .long   0
  564 .byte   0,12,0x04,0,0x80,0,4,0
  565 .long   0
  566 .size   gcm_ghash_p8,.-gcm_ghash_p8
  567 
  568 .byte   71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,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
  569 .align  2
  570 .align  2

Cache object: a47b48c88e214d52948d916453c3c48e


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