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