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/poly1305-ppcfp.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 poly1305-ppcfp.pl. */
    3 .machine        "any"
    4 .abiversion     2
    5 .text
    6 
    7 .globl  poly1305_init_fpu
    8 .type   poly1305_init_fpu,@function
    9 .align  6
   10 poly1305_init_fpu:
   11 .localentry     poly1305_init_fpu,0
   12 
   13         stdu    1,-48(1)
   14         mflr    6
   15         std     6,64(1)
   16 
   17         bl      .LPICmeup
   18 
   19         xor     0,0,0
   20         mtlr    6
   21 
   22         lfd     8,8*0(5)
   23         lfd     9,8*1(5)
   24         lfd     10,8*2(5)
   25         lfd     11,8*3(5)
   26         lfd     12,8*4(5)
   27         lfd     13,8*5(5)
   28 
   29         stfd    8,8*0(3)
   30         stfd    9,8*1(3)
   31         stfd    10,8*2(3)
   32         stfd    11,8*3(3)
   33 
   34         cmpld   4,0
   35         beq-    .Lno_key
   36 
   37         lfd     6,8*13(5)
   38         mffs    7
   39 
   40         stfd    8,8*4(3)
   41         stfd    9,8*5(3)
   42         stfd    10,8*6(3)
   43         stfd    11,8*7(3)
   44 
   45         li      8,4
   46         li      9,8
   47         li      10,12
   48         lwzx    7,0,4
   49         lwzx    8,8,4
   50         lwzx    9,9,4
   51         lwzx    10,10,4
   52 
   53         lis     11,0xf000
   54         ori     12,11,3
   55         andc    7,7,11
   56         andc    8,8,12
   57         andc    9,9,12
   58         andc    10,10,12
   59 
   60         stw     7,32(3)
   61         stw     8,40(3)
   62         stw     9,48(3)
   63         stw     10,56(3)
   64 
   65         mtfsf   255,6
   66         stfd    8,8*18(3)
   67         stfd    9,8*19(3)
   68         stfd    10,8*20(3)
   69         stfd    11,8*21(3)
   70         stfd    12,8*22(3)
   71         stfd    13,8*23(3)
   72 
   73         lfd     0,8*4(3)
   74         lfd     2,8*5(3)
   75         lfd     4,8*6(3)
   76         lfd     6,8*7(3)
   77 
   78         fsub    0,0,8
   79         fsub    2,2,9
   80         fsub    4,4,10
   81         fsub    6,6,11
   82 
   83         lfd     8,8*6(5)
   84         lfd     9,8*7(5)
   85         lfd     10,8*8(5)
   86         lfd     11,8*9(5)
   87 
   88         fmul    3,2,13
   89         fmul    5,4,13
   90         stfd    7,8*15(3)
   91         fmul    7,6,13
   92 
   93         fadd    1,0,8
   94         stfd    3,8*12(3)
   95         fadd    3,2,9
   96         stfd    5,8*13(3)
   97         fadd    5,4,10
   98         stfd    7,8*14(3)
   99         fadd    7,6,11
  100 
  101         fsub    1,1,8
  102         fsub    3,3,9
  103         fsub    5,5,10
  104         fsub    7,7,11
  105 
  106         lfd     8,8*10(5)
  107         lfd     9,8*11(5)
  108         lfd     10,8*12(5)
  109 
  110         fsub    0,0,1
  111         fsub    2,2,3
  112         fsub    4,4,5
  113         fsub    6,6,7
  114 
  115         stfd    1,8*5(3)
  116         stfd    3,8*7(3)
  117         stfd    5,8*9(3)
  118         stfd    7,8*11(3)
  119 
  120         stfd    0,8*4(3)
  121         stfd    2,8*6(3)
  122         stfd    4,8*8(3)
  123         stfd    6,8*10(3)
  124 
  125         lfd     2,8*12(3)
  126         lfd     4,8*13(3)
  127         lfd     6,8*14(3)
  128         lfd     0,8*15(3)
  129 
  130         fadd    3,2,8
  131         fadd    5,4,9
  132         fadd    7,6,10
  133 
  134         fsub    3,3,8
  135         fsub    5,5,9
  136         fsub    7,7,10
  137 
  138         fsub    2,2,3
  139         fsub    4,4,5
  140         fsub    6,6,7
  141 
  142         stfd    3,8*13(3)
  143         stfd    5,8*15(3)
  144         stfd    7,8*17(3)
  145 
  146         stfd    2,8*12(3)
  147         stfd    4,8*14(3)
  148         stfd    6,8*16(3)
  149 
  150         mtfsf   255,0
  151 .Lno_key:
  152         xor     3,3,3
  153         addi    1,1,48
  154         blr     
  155 .long   0
  156 .byte   0,12,4,1,0x80,0,2,0
  157 .size   poly1305_init_fpu,.-poly1305_init_fpu
  158 
  159 .globl  poly1305_blocks_fpu
  160 .type   poly1305_blocks_fpu,@function
  161 .align  4
  162 poly1305_blocks_fpu:
  163 .localentry     poly1305_blocks_fpu,0
  164 
  165         srwi.   5,5,4
  166         beq-    .Labort
  167 
  168         stdu    1,-240(1)
  169         mflr    0
  170         stfd    14,96(1)
  171         stfd    15,104(1)
  172         stfd    16,112(1)
  173         stfd    17,120(1)
  174         stfd    18,128(1)
  175         stfd    19,136(1)
  176         stfd    20,144(1)
  177         stfd    21,152(1)
  178         stfd    22,160(1)
  179         stfd    23,168(1)
  180         stfd    24,176(1)
  181         stfd    25,184(1)
  182         stfd    26,192(1)
  183         stfd    27,200(1)
  184         stfd    28,208(1)
  185         stfd    29,216(1)
  186         stfd    30,224(1)
  187         stfd    31,232(1)
  188         std     0,256(1)
  189 
  190         xor     0,0,0
  191         li      10,1
  192         mtctr   5
  193         neg     5,5
  194         stw     0,84(1)
  195         stw     10,80(1)
  196 
  197         lfd     8,8*18(3)
  198         lfd     9,8*19(3)
  199         lfd     10,8*20(3)
  200         lfd     11,8*21(3)
  201         lfd     12,8*22(3)
  202         lfd     13,8*23(3)
  203 
  204         lfd     0,8*0(3)
  205         lfd     2,8*1(3)
  206         lfd     4,8*2(3)
  207         lfd     6,8*3(3)
  208 
  209         stfd    8,48(1)
  210         oris    10,6,18736
  211         stfd    9,56(1)
  212         stfd    10,64(1)
  213         stw     10,76(1)
  214 
  215         li      11,4
  216         li      12,8
  217         li      6,12
  218         lwzx    7,0,4
  219         lwzx    8,11,4
  220         lwzx    9,12,4
  221         lwzx    10,6,4
  222         addi    4,4,16
  223 
  224         stw     7,48(1)
  225         stw     8,56(1)
  226         stw     9,64(1)
  227         stw     10,72(1)
  228 
  229         mffs    28
  230         lfd     29,80(1)
  231         lfd     14,8*4(3)
  232         lfd     15,8*5(3)
  233         lfd     16,8*6(3)
  234         lfd     17,8*7(3)
  235         lfd     18,8*8(3)
  236         lfd     19,8*9(3)
  237         lfd     24,8*10(3)
  238         lfd     25,8*11(3)
  239         lfd     26,8*12(3)
  240         lfd     27,8*13(3)
  241         lfd     20,8*14(3)
  242         lfd     21,8*15(3)
  243         lfd     22,8*16(3)
  244         lfd     23,8*17(3)
  245 
  246         stfd    28,80(1)
  247         mtfsf   255,29
  248 
  249         addic   5,5,1
  250         addze   0,0
  251         slwi.   0,0,4
  252         sub     4,4,0
  253 
  254         lfd     28,48(1)
  255         lfd     29,56(1)
  256         lfd     30,64(1)
  257         lfd     31,72(1)
  258 
  259         fsub    0,0,8
  260         lwzx    7,0,4
  261         fsub    2,2,9
  262         lwzx    8,11,4
  263         fsub    4,4,10
  264         lwzx    9,12,4
  265         fsub    6,6,11
  266         lwzx    10,6,4
  267 
  268         fsub    28,28,8
  269         addi    4,4,16
  270         fsub    29,29,9
  271         fsub    30,30,10
  272         fsub    31,31,11
  273 
  274         fadd    28,28,0
  275         stw     7,48(1)
  276         fadd    29,29,2
  277         stw     8,56(1)
  278         fadd    30,30,4
  279         stw     9,64(1)
  280         fadd    31,31,6
  281         stw     10,72(1)
  282 
  283         b       .Lentry
  284 
  285 .align  4
  286 .Loop:
  287         fsub    30,30,8
  288         addic   5,5,1
  289         fsub    31,31,9
  290         addze   0,0
  291         fsub    26,26,10
  292         slwi.   0,0,4
  293         fsub    27,27,11
  294         sub     4,4,0
  295 
  296         fadd    0,0,30
  297         fadd    1,1,31
  298         fadd    4,4,26
  299         fadd    5,5,27
  300 
  301 
  302         fadd    26,2,10
  303         lwzx    7,0,4
  304         fadd    27,3,10
  305         lwzx    8,11,4
  306         fadd    30,6,12
  307         lwzx    9,12,4
  308         fadd    31,7,12
  309         lwzx    10,6,4
  310         fadd    24,0,9
  311         addi    4,4,16
  312         fadd    25,1,9
  313         fadd    28,4,11
  314         fadd    29,5,11
  315 
  316         fsub    26,26,10
  317         stw     7,48(1)
  318         fsub    27,27,10
  319         stw     8,56(1)
  320         fsub    30,30,12
  321         stw     9,64(1)
  322         fsub    31,31,12
  323         stw     10,72(1)
  324         fsub    24,24,9
  325         fsub    25,25,9
  326         fsub    28,28,11
  327         fsub    29,29,11
  328 
  329         fsub    2,2,26
  330         fsub    3,3,27
  331         fsub    6,6,30
  332         fsub    7,7,31
  333         fsub    4,4,28
  334         fsub    5,5,29
  335         fsub    0,0,24
  336         fsub    1,1,25
  337 
  338         fadd    2,2,24
  339         fadd    3,3,25
  340         fadd    6,6,28
  341         fadd    7,7,29
  342         fadd    4,4,26
  343         fadd    5,5,27
  344         fmadd   0,30,13,0
  345         fmadd   1,31,13,1
  346 
  347         fadd    29,2,3
  348         lfd     26,8*12(3)
  349         fadd    31,6,7
  350         lfd     27,8*13(3)
  351         fadd    30,4,5
  352         lfd     24,8*10(3)
  353         fadd    28,0,1
  354         lfd     25,8*11(3)
  355 .Lentry:
  356         fmul    0,22,29
  357         fmul    1,23,29
  358         fmul    4,16,29
  359         fmul    5,17,29
  360         fmul    2,14,29
  361         fmul    3,15,29
  362         fmul    6,18,29
  363         fmul    7,19,29
  364 
  365         fmadd   0,26,31,0
  366         fmadd   1,27,31,1
  367         fmadd   4,22,31,4
  368         fmadd   5,23,31,5
  369         fmadd   2,20,31,2
  370         fmadd   3,21,31,3
  371         fmadd   6,14,31,6
  372         fmadd   7,15,31,7
  373 
  374         fmadd   0,20,30,0
  375         fmadd   1,21,30,1
  376         fmadd   4,14,30,4
  377         fmadd   5,15,30,5
  378         fmadd   2,22,30,2
  379         fmadd   3,23,30,3
  380         fmadd   6,16,30,6
  381         fmadd   7,17,30,7
  382 
  383         fmadd   0,14,28,0
  384         lfd     30,48(1)
  385         fmadd   1,15,28,1
  386         lfd     31,56(1)
  387         fmadd   4,18,28,4
  388         lfd     26,64(1)
  389         fmadd   5,19,28,5
  390         lfd     27,72(1)
  391         fmadd   2,16,28,2
  392         fmadd   3,17,28,3
  393         fmadd   6,24,28,6
  394         fmadd   7,25,28,7
  395 
  396         bdnz    .Loop
  397 
  398 
  399         fadd    24,0,9
  400         fadd    25,1,9
  401         fadd    28,4,11
  402         fadd    29,5,11
  403         fadd    26,2,10
  404         fadd    27,3,10
  405         fadd    30,6,12
  406         fadd    31,7,12
  407 
  408         fsub    24,24,9
  409         fsub    25,25,9
  410         fsub    28,28,11
  411         fsub    29,29,11
  412         fsub    26,26,10
  413         fsub    27,27,10
  414         fsub    30,30,12
  415         fsub    31,31,12
  416 
  417         fsub    2,2,26
  418         fsub    3,3,27
  419         fsub    6,6,30
  420         fsub    7,7,31
  421         fsub    4,4,28
  422         fsub    5,5,29
  423         fsub    0,0,24
  424         fsub    1,1,25
  425 
  426         fadd    2,2,24
  427         fadd    3,3,25
  428         fadd    6,6,28
  429         fadd    7,7,29
  430         fadd    4,4,26
  431         fadd    5,5,27
  432         fmadd   0,30,13,0
  433         fmadd   1,31,13,1
  434 
  435         fadd    29,2,3
  436         fadd    31,6,7
  437         fadd    30,4,5
  438         fadd    28,0,1
  439 
  440         lfd     0,80(1)
  441         fadd    29,29,9
  442         fadd    31,31,11
  443         fadd    30,30,10
  444         fadd    28,28,8
  445 
  446         stfd    29,8*1(3)
  447         stfd    31,8*3(3)
  448         stfd    30,8*2(3)
  449         stfd    28,8*0(3)
  450 
  451         mtfsf   255,0
  452         lfd     14,96(1)
  453         lfd     15,104(1)
  454         lfd     16,112(1)
  455         lfd     17,120(1)
  456         lfd     18,128(1)
  457         lfd     19,136(1)
  458         lfd     20,144(1)
  459         lfd     21,152(1)
  460         lfd     22,160(1)
  461         lfd     23,168(1)
  462         lfd     24,176(1)
  463         lfd     25,184(1)
  464         lfd     26,192(1)
  465         lfd     27,200(1)
  466         lfd     28,208(1)
  467         lfd     29,216(1)
  468         lfd     30,224(1)
  469         lfd     31,232(1)
  470         addi    1,1,240
  471 .Labort:
  472         blr     
  473 .long   0
  474 .byte   0,12,4,1,0x80,0,4,0
  475 .size   poly1305_blocks_fpu,.-poly1305_blocks_fpu
  476 .globl  poly1305_emit_fpu
  477 .type   poly1305_emit_fpu,@function
  478 .align  4
  479 poly1305_emit_fpu:
  480 .localentry     poly1305_emit_fpu,0
  481 
  482         stdu    1,-80(1)
  483         mflr    0
  484         std     28,48(1)
  485         std     29,56(1)
  486         std     30,64(1)
  487         std     31,72(1)
  488         std     0,96(1)
  489 
  490         lwz     28,4(3)
  491         lwz     7,0(3)
  492         lwz     29,12(3)
  493         lwz     8,8(3)
  494         lwz     30,20(3)
  495         lwz     9,16(3)
  496         lwz     31,28(3)
  497         lwz     10,24(3)
  498 
  499         lis     0,0xfff0
  500         andc    28,28,0
  501         andc    29,29,0
  502         andc    30,30,0
  503         andc    31,31,0
  504         li      0,3
  505 
  506         srwi    6,31,2
  507         and     11,31,0
  508         andc    31,31,0
  509         add     31,31,6
  510         add     7,7,31
  511         add     8,8,28
  512         add     9,9,29
  513         add     10,10,30
  514 
  515         srdi    28,7,32
  516         add     8,8,28
  517         srdi    29,8,32
  518         add     9,9,29
  519         srdi    30,9,32
  520         add     10,10,30
  521         srdi    31,10,32
  522         add     11,11,31
  523 
  524         insrdi  7,8,32,0
  525         insrdi  9,10,32,0
  526 
  527         addic   28,7,5
  528         addze   29,9
  529         addze   30,11
  530 
  531         srdi    0,30,2
  532         neg     0,0
  533         sradi   0,0,63
  534         ld      30,0(5)
  535         ld      31,8(5)
  536 
  537         andc    7,7,0
  538         and     28,28,0
  539         andc    9,9,0
  540         and     29,29,0
  541         or      7,7,28
  542         or      9,9,29
  543         addc    7,7,30
  544         adde    9,9,31
  545 
  546         srdi    8,7,32
  547         srdi    10,9,32
  548         stw     7,0(4)
  549         stw     8,4(4)
  550         stw     9,8(4)
  551         stw     10,12(4)
  552         ld      28,48(1)
  553         ld      29,56(1)
  554         ld      30,64(1)
  555         ld      31,72(1)
  556         addi    1,1,80
  557         blr     
  558 .long   0
  559 .byte   0,12,4,1,0x80,4,3,0
  560 .size   poly1305_emit_fpu,.-poly1305_emit_fpu
  561 .align  6
  562 .LPICmeup:
  563         mflr    0
  564         bcl     20,31,$+4
  565         mflr    5
  566         addi    5,5,56
  567         mtlr    0
  568         blr     
  569 .long   0
  570 .byte   0,12,0x14,0,0,0,0,0
  571 .space  28
  572 
  573 .long   0x00000000,0x43300000
  574 .long   0x00000000,0x45300000
  575 .long   0x00000000,0x47300000
  576 .long   0x00000000,0x49300000
  577 .long   0x00000000,0x4b500000
  578 
  579 .long   0x00000000,0x37f40000
  580 
  581 .long   0x00000000,0x44300000
  582 .long   0x00000000,0x46300000
  583 .long   0x00000000,0x48300000
  584 .long   0x00000000,0x4a300000
  585 .long   0x00000000,0x3e300000
  586 .long   0x00000000,0x40300000
  587 .long   0x00000000,0x42300000
  588 
  589 .long   0x00000001,0x00000000
  590 .byte   80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,32,70,80,85,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
  591 .align  2
  592 .align  4

Cache object: df46afd0fc672dd44f818f64d9d0817c


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