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