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/poly1305-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 poly1305-ppc.pl. */
    3 .machine        "any"
    4 .text
    5 .globl  poly1305_init_int
    6 .type   poly1305_init_int,@function
    7 .align  4
    8 poly1305_init_int:
    9         xor     0,0,0
   10         stw     0,0(3)
   11         stw     0,4(3)
   12         stw     0,8(3)
   13         stw     0,12(3)
   14         stw     0,16(3)
   15 
   16         .long   0x7c040040
   17         beq-    .Lno_key
   18         li      8,4
   19         lwbrx   7,0,4
   20         li      9,8
   21         lwbrx   8,8,4
   22         li      10,12
   23         lwbrx   9,9,4
   24         lwbrx   10,10,4
   25         lis     0,0xf000
   26         li      12,-4
   27         andc    12,12,0
   28 
   29         andc    7,7,0
   30         and     8,8,12
   31         and     9,9,12
   32         and     10,10,12
   33 
   34         stw     7,32(3)
   35         stw     8,36(3)
   36         stw     9,40(3)
   37         stw     10,44(3)
   38 
   39 .Lno_key:
   40         xor     3,3,3
   41         blr     
   42 .long   0
   43 .byte   0,12,0x14,0,0,0,2,0
   44 .size   poly1305_init_int,.-poly1305_init_int
   45 
   46 .globl  poly1305_blocks
   47 .type   poly1305_blocks,@function
   48 .align  4
   49 poly1305_blocks:
   50         srwi.   5,5,4
   51         beq-    .Labort
   52 
   53         stwu    1,-96(1)
   54         mflr    0
   55         stw     14,24(1)
   56         stw     15,28(1)
   57         stw     16,32(1)
   58         stw     17,36(1)
   59         stw     18,40(1)
   60         stw     19,44(1)
   61         stw     20,48(1)
   62         stw     21,52(1)
   63         stw     22,56(1)
   64         stw     23,60(1)
   65         stw     24,64(1)
   66         stw     25,68(1)
   67         stw     26,72(1)
   68         stw     27,76(1)
   69         stw     28,80(1)
   70         stw     29,84(1)
   71         stw     30,88(1)
   72         stw     31,92(1)
   73         stw     0,100(1)
   74 
   75         lwz     12,32(3)
   76         lwz     14,36(3)
   77         lwz     15,40(3)
   78         lwz     16,44(3)
   79 
   80         lwz     7,0(3)
   81         lwz     8,4(3)
   82         lwz     9,8(3)
   83         lwz     10,12(3)
   84         lwz     11,16(3)
   85 
   86         srwi    17,14,2
   87         srwi    18,15,2
   88         srwi    19,16,2
   89         add     17,17,14
   90         add     18,18,15
   91         add     19,19,16
   92         mtctr   5
   93         li      0,3
   94         b       .Loop
   95 
   96 .align  4
   97 .Loop:
   98         li      29,4
   99         lwbrx   28,0,4
  100         li      30,8
  101         lwbrx   29,29,4
  102         li      31,12
  103         lwbrx   30,30,4
  104         lwbrx   31,31,4
  105         addi    4,4,16
  106 
  107         addc    7,7,28
  108         adde    8,8,29
  109         adde    9,9,30
  110 
  111         mullw   28,7,12
  112         mulhwu  24,7,12
  113 
  114         mullw   29,7,14
  115         mulhwu  25,7,14
  116 
  117         mullw   30,7,15
  118         mulhwu  26,7,15
  119 
  120         adde    10,10,31
  121         adde    11,11,6
  122 
  123         mullw   31,7,16
  124         mulhwu  27,7,16
  125 
  126         mullw   20,8,19
  127         mulhwu  21,8,19
  128 
  129         mullw   22,8,12
  130         mulhwu  23,8,12
  131         addc    28,28,20
  132         adde    24,24,21
  133 
  134         mullw   20,8,14
  135         mulhwu  21,8,14
  136         addc    29,29,22
  137         adde    25,25,23
  138 
  139         mullw   22,8,15
  140         mulhwu  23,8,15
  141         addc    30,30,20
  142         adde    26,26,21
  143 
  144         mullw   20,9,18
  145         mulhwu  21,9,18
  146         addc    31,31,22
  147         adde    27,27,23
  148 
  149         mullw   22,9,19
  150         mulhwu  23,9,19
  151         addc    28,28,20
  152         adde    24,24,21
  153 
  154         mullw   20,9,12
  155         mulhwu  21,9,12
  156         addc    29,29,22
  157         adde    25,25,23
  158 
  159         mullw   22,9,14
  160         mulhwu  23,9,14
  161         addc    30,30,20
  162         adde    26,26,21
  163 
  164         mullw   20,10,17
  165         mulhwu  21,10,17
  166         addc    31,31,22
  167         adde    27,27,23
  168 
  169         mullw   22,10,18
  170         mulhwu  23,10,18
  171         addc    28,28,20
  172         adde    24,24,21
  173 
  174         mullw   20,10,19
  175         mulhwu  21,10,19
  176         addc    29,29,22
  177         adde    25,25,23
  178 
  179         mullw   22,10,12
  180         mulhwu  23,10,12
  181         addc    30,30,20
  182         adde    26,26,21
  183 
  184         mullw   20,11,17
  185         addc    31,31,22
  186         adde    27,27,23
  187         addc    29,29,20
  188 
  189         mullw   21,11,18
  190         addze   25,25
  191         addc    30,30,21
  192         addze   26,26
  193 
  194         mullw   22,11,19
  195         addc    31,31,22
  196         addze   27,27
  197 
  198         mullw   11,11,12
  199 
  200         addc    8,29,24
  201         adde    9,30,25
  202         adde    10,31,26
  203         adde    11,11,27
  204 
  205         andc    24,11,0
  206         and     11,11,0
  207         srwi    25,24,2
  208         add     24,24,25
  209         addc    7,28,24
  210         addze   8,8
  211         addze   9,9
  212         addze   10,10
  213         addze   11,11
  214 
  215         bdnz    .Loop
  216 
  217         stw     7,0(3)
  218         stw     8,4(3)
  219         stw     9,8(3)
  220         stw     10,12(3)
  221         stw     11,16(3)
  222 
  223         lwz     14,24(1)
  224         lwz     15,28(1)
  225         lwz     16,32(1)
  226         lwz     17,36(1)
  227         lwz     18,40(1)
  228         lwz     19,44(1)
  229         lwz     20,48(1)
  230         lwz     21,52(1)
  231         lwz     22,56(1)
  232         lwz     23,60(1)
  233         lwz     24,64(1)
  234         lwz     25,68(1)
  235         lwz     26,72(1)
  236         lwz     27,76(1)
  237         lwz     28,80(1)
  238         lwz     29,84(1)
  239         lwz     30,88(1)
  240         lwz     31,92(1)
  241         addi    1,1,96
  242 .Labort:
  243         blr     
  244 .long   0
  245 .byte   0,12,4,1,0x80,18,4,0
  246 .size   poly1305_blocks,.-poly1305_blocks
  247 
  248 .globl  poly1305_emit
  249 .type   poly1305_emit,@function
  250 .align  4
  251 poly1305_emit:
  252         stwu    1,-96(1)
  253         mflr    0
  254         stw     28,80(1)
  255         stw     29,84(1)
  256         stw     30,88(1)
  257         stw     31,92(1)
  258         stw     0,100(1)
  259 
  260         lwz     7,0(3)
  261         lwz     8,4(3)
  262         lwz     9,8(3)
  263         lwz     10,12(3)
  264         lwz     11,16(3)
  265 
  266         addic   28,7,5
  267         addze   29,8
  268         addze   30,9
  269         addze   31,10
  270         addze   0,11
  271 
  272         srwi    0,0,2
  273         neg     0,0
  274 
  275         andc    7,7,0
  276         and     28,28,0
  277         andc    8,8,0
  278         and     29,29,0
  279         or      7,7,28
  280         lwz     28,0(5)
  281         andc    9,9,0
  282         and     30,30,0
  283         or      8,8,29
  284         lwz     29,4(5)
  285         andc    10,10,0
  286         and     31,31,0
  287         or      9,9,30
  288         lwz     30,8(5)
  289         or      10,10,31
  290         lwz     31,12(5)
  291 
  292         addc    7,7,28
  293         adde    8,8,29
  294         adde    9,9,30
  295         adde    10,10,31
  296         li      29,4
  297         stwbrx  7,0,4
  298         li      30,8
  299         stwbrx  8,29,4
  300         li      31,12
  301         stwbrx  9,30,4
  302         stwbrx  10,31,4
  303         lwz     28,80(1)
  304         lwz     29,84(1)
  305         lwz     30,88(1)
  306         lwz     31,92(1)
  307         addi    1,1,96
  308         blr     
  309 .long   0
  310 .byte   0,12,4,1,0x80,4,3,0
  311 .size   poly1305_emit,.-poly1305_emit
  312 .byte   80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,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
  313 .align  2

Cache object: adf8f37c01a1b37ce7612055c64df91e


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