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