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

Cache object: 00f6b2ea4f525299c0f6c36162691f41


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