Home | History | Annotate | Line # | Download | only in powerpc64
ppccpuid.S revision 1.2
      1 .machine	"any"
      2 .text
      3 
      4 .globl	OPENSSL_fpu_probe
      5 .type	OPENSSL_fpu_probe,@function
      6 .section	".opd","aw"
      7 .align	3
      8 OPENSSL_fpu_probe:
      9 .quad	.OPENSSL_fpu_probe,.TOC.@tocbase,0
     10 .previous
     11 .align	4
     12 .OPENSSL_fpu_probe:
     13 	fmr	0,0
     14 	blr
     15 .long	0
     16 .byte	0,12,0x14,0,0,0,0,0
     17 
     18 .globl	OPENSSL_ppc64_probe
     19 .type	OPENSSL_ppc64_probe,@function
     20 .section	".opd","aw"
     21 .align	3
     22 OPENSSL_ppc64_probe:
     23 .quad	.OPENSSL_ppc64_probe,.TOC.@tocbase,0
     24 .previous
     25 .align	4
     26 .OPENSSL_ppc64_probe:
     27 	fcfid	1,1
     28 	rldicl	0,0,32,32
     29 	blr
     30 .long	0
     31 .byte	0,12,0x14,0,0,0,0,0
     32 
     33 
     34 .globl	OPENSSL_altivec_probe
     35 .type	OPENSSL_altivec_probe,@function
     36 .section	".opd","aw"
     37 .align	3
     38 OPENSSL_altivec_probe:
     39 .quad	.OPENSSL_altivec_probe,.TOC.@tocbase,0
     40 .previous
     41 .align	4
     42 .OPENSSL_altivec_probe:
     43 .long	0x10000484
     44 	blr
     45 .long	0
     46 .byte	0,12,0x14,0,0,0,0,0
     47 
     48 
     49 .globl	OPENSSL_crypto207_probe
     50 .type	OPENSSL_crypto207_probe,@function
     51 .section	".opd","aw"
     52 .align	3
     53 OPENSSL_crypto207_probe:
     54 .quad	.OPENSSL_crypto207_probe,.TOC.@tocbase,0
     55 .previous
     56 .align	4
     57 .OPENSSL_crypto207_probe:
     58 .long	0x7C000E99
     59 .long	0x10000508
     60 	blr
     61 .long	0
     62 .byte	0,12,0x14,0,0,0,0,0
     63 
     64 
     65 .globl	OPENSSL_madd300_probe
     66 .type	OPENSSL_madd300_probe,@function
     67 .section	".opd","aw"
     68 .align	3
     69 OPENSSL_madd300_probe:
     70 .quad	.OPENSSL_madd300_probe,.TOC.@tocbase,0
     71 .previous
     72 .align	4
     73 .OPENSSL_madd300_probe:
     74 	xor	0,0,0
     75 .long	0x10600033
     76 .long	0x10600031
     77 	blr
     78 .long	0
     79 .byte	0,12,0x14,0,0,0,0,0
     80 
     81 .globl	OPENSSL_brd31_probe
     82 .type	OPENSSL_brd31_probe,@function
     83 .section	".opd","aw"
     84 .align	3
     85 OPENSSL_brd31_probe:
     86 .quad	.OPENSSL_brd31_probe,.TOC.@tocbase,0
     87 .previous
     88 .align	4
     89 .OPENSSL_brd31_probe:
     90 	xor	0,0,0
     91 .long	0x7C030176
     92 	blr
     93 .long	0
     94 .byte	0,12,0x14,0,0,0,0,0
     95 
     96 
     97 
     98 .globl	OPENSSL_wipe_cpu
     99 .type	OPENSSL_wipe_cpu,@function
    100 .section	".opd","aw"
    101 .align	3
    102 OPENSSL_wipe_cpu:
    103 .quad	.OPENSSL_wipe_cpu,.TOC.@tocbase,0
    104 .previous
    105 .align	4
    106 .OPENSSL_wipe_cpu:
    107 	xor	0,0,0
    108 	fmr	0,31
    109 	fmr	1,31
    110 	fmr	2,31
    111 	mr	3,1
    112 	fmr	3,31
    113 	xor	4,4,4
    114 	fmr	4,31
    115 	xor	5,5,5
    116 	fmr	5,31
    117 	xor	6,6,6
    118 	fmr	6,31
    119 	xor	7,7,7
    120 	fmr	7,31
    121 	xor	8,8,8
    122 	fmr	8,31
    123 	xor	9,9,9
    124 	fmr	9,31
    125 	xor	10,10,10
    126 	fmr	10,31
    127 	xor	11,11,11
    128 	fmr	11,31
    129 	xor	12,12,12
    130 	fmr	12,31
    131 	fmr	13,31
    132 	blr
    133 .long	0
    134 .byte	0,12,0x14,0,0,0,0,0
    135 
    136 
    137 .globl	OPENSSL_atomic_add
    138 .type	OPENSSL_atomic_add,@function
    139 .section	".opd","aw"
    140 .align	3
    141 OPENSSL_atomic_add:
    142 .quad	.OPENSSL_atomic_add,.TOC.@tocbase,0
    143 .previous
    144 .align	4
    145 .OPENSSL_atomic_add:
    146 .Ladd:	lwarx	5,0,3
    147 	add	0,4,5
    148 	stwcx.	0,0,3
    149 	bne-	.Ladd
    150 	extsw	3,0
    151 	blr
    152 .long	0
    153 .byte	0,12,0x14,0,0,0,2,0
    154 .long	0
    155 
    156 
    157 .globl	OPENSSL_rdtsc_mftb
    158 .type	OPENSSL_rdtsc_mftb,@function
    159 .section	".opd","aw"
    160 .align	3
    161 OPENSSL_rdtsc_mftb:
    162 .quad	.OPENSSL_rdtsc_mftb,.TOC.@tocbase,0
    163 .previous
    164 .align	4
    165 .OPENSSL_rdtsc_mftb:
    166 	mftb	3
    167 	blr
    168 .long	0
    169 .byte	0,12,0x14,0,0,0,0,0
    170 
    171 
    172 .globl	OPENSSL_rdtsc_mfspr268
    173 .type	OPENSSL_rdtsc_mfspr268,@function
    174 .section	".opd","aw"
    175 .align	3
    176 OPENSSL_rdtsc_mfspr268:
    177 .quad	.OPENSSL_rdtsc_mfspr268,.TOC.@tocbase,0
    178 .previous
    179 .align	4
    180 .OPENSSL_rdtsc_mfspr268:
    181 	mfspr	3,268
    182 	blr
    183 .long	0
    184 .byte	0,12,0x14,0,0,0,0,0
    185 
    186 
    187 .globl	OPENSSL_cleanse
    188 .type	OPENSSL_cleanse,@function
    189 .section	".opd","aw"
    190 .align	3
    191 OPENSSL_cleanse:
    192 .quad	.OPENSSL_cleanse,.TOC.@tocbase,0
    193 .previous
    194 .align	4
    195 .OPENSSL_cleanse:
    196 	cmpldi	4,7
    197 	li	0,0
    198 	bge	.Lot
    199 	cmpldi	4,0
    200 	beqlr
    201 .Little:	mtctr	4
    202 	stb	0,0(3)
    203 	addi	3,3,1
    204 	bc	16,0,$-8
    205 	blr
    206 .Lot:	andi.	5,3,3
    207 	beq	.Laligned
    208 	stb	0,0(3)
    209 	subi	4,4,1
    210 	addi	3,3,1
    211 	b	.Lot
    212 .Laligned:
    213 	srdi	5,4,2
    214 	mtctr	5
    215 	stw	0,0(3)
    216 	addi	3,3,4
    217 	bc	16,0,$-8
    218 	andi.	4,4,3
    219 	bne	.Little
    220 	blr
    221 .long	0
    222 .byte	0,12,0x14,0,0,0,2,0
    223 .long	0
    224 
    225 
    226 .globl	CRYPTO_memcmp
    227 .type	CRYPTO_memcmp,@function
    228 .section	".opd","aw"
    229 .align	3
    230 CRYPTO_memcmp:
    231 .quad	.CRYPTO_memcmp,.TOC.@tocbase,0
    232 .previous
    233 .align	4
    234 .CRYPTO_memcmp:
    235 	cmpldi	5,0
    236 	li	0,0
    237 	beq	.Lno_data
    238 	mtctr	5
    239 .Loop_cmp:
    240 	lbz	6,0(3)
    241 	addi	3,3,1
    242 	lbz	7,0(4)
    243 	addi	4,4,1
    244 	xor	6,6,7
    245 	or	0,0,6
    246 	bc	16,0,.Loop_cmp
    247 
    248 .Lno_data:
    249 	li	3,0
    250 	sub	3,3,0
    251 	extrwi	3,3,1,0
    252 	blr
    253 .long	0
    254 .byte	0,12,0x14,0,0,0,3,0
    255 .long	0
    256 
    257 .globl	OPENSSL_instrument_bus_mftb
    258 .type	OPENSSL_instrument_bus_mftb,@function
    259 .section	".opd","aw"
    260 .align	3
    261 OPENSSL_instrument_bus_mftb:
    262 .quad	.OPENSSL_instrument_bus_mftb,.TOC.@tocbase,0
    263 .previous
    264 .align	4
    265 .OPENSSL_instrument_bus_mftb:
    266 	mtctr	4
    267 
    268 	mftb	7
    269 	li	8,0
    270 
    271 	dcbf	0,3
    272 	lwarx	6,0,3
    273 	add	6,6,8
    274 	stwcx.	6,0,3
    275 	stwx	6,0,3
    276 
    277 .Loop:	mftb	6
    278 	sub	8,6,7
    279 	mr	7,6
    280 	dcbf	0,3
    281 	lwarx	6,0,3
    282 	add	6,6,8
    283 	stwcx.	6,0,3
    284 	stwx	6,0,3
    285 	addi	3,3,4
    286 	bc	16,0,.Loop
    287 
    288 	mr	3,4
    289 	blr
    290 .long	0
    291 .byte	0,12,0x14,0,0,0,2,0
    292 .long	0
    293 
    294 
    295 .globl	OPENSSL_instrument_bus2_mftb
    296 .type	OPENSSL_instrument_bus2_mftb,@function
    297 .section	".opd","aw"
    298 .align	3
    299 OPENSSL_instrument_bus2_mftb:
    300 .quad	.OPENSSL_instrument_bus2_mftb,.TOC.@tocbase,0
    301 .previous
    302 .align	4
    303 .OPENSSL_instrument_bus2_mftb:
    304 	mr	0,4
    305 	slwi	4,4,2
    306 
    307 	mftb	7
    308 	li	8,0
    309 
    310 	dcbf	0,3
    311 	lwarx	6,0,3
    312 	add	6,6,8
    313 	stwcx.	6,0,3
    314 	stwx	6,0,3
    315 
    316 	mftb	6
    317 	sub	8,6,7
    318 	mr	7,6
    319 	mr	9,8
    320 .Loop2:
    321 	dcbf	0,3
    322 	lwarx	6,0,3
    323 	add	6,6,8
    324 	stwcx.	6,0,3
    325 	stwx	6,0,3
    326 
    327 	addic.	5,5,-1
    328 	beq	.Ldone2
    329 
    330 	mftb	6
    331 	sub	8,6,7
    332 	mr	7,6
    333 	cmplw	7,8,9
    334 	mr	9,8
    335 
    336 	mfcr	6
    337 	not	6,6
    338 	rlwinm	6,6,1,29,29
    339 
    340 	sub.	4,4,6
    341 	add	3,3,6
    342 	bne	.Loop2
    343 
    344 .Ldone2:
    345 	srwi	4,4,2
    346 	sub	3,0,4
    347 	blr
    348 .long	0
    349 .byte	0,12,0x14,0,0,0,3,0
    350 .long	0
    351 
    352 
    353 .globl	OPENSSL_instrument_bus_mfspr268
    354 .type	OPENSSL_instrument_bus_mfspr268,@function
    355 .section	".opd","aw"
    356 .align	3
    357 OPENSSL_instrument_bus_mfspr268:
    358 .quad	.OPENSSL_instrument_bus_mfspr268,.TOC.@tocbase,0
    359 .previous
    360 .align	4
    361 .OPENSSL_instrument_bus_mfspr268:
    362 	mtctr	4
    363 
    364 	mfspr	7,268
    365 	li	8,0
    366 
    367 	dcbf	0,3
    368 	lwarx	6,0,3
    369 	add	6,6,8
    370 	stwcx.	6,0,3
    371 	stwx	6,0,3
    372 
    373 .Loop3:	mfspr	6,268
    374 	sub	8,6,7
    375 	mr	7,6
    376 	dcbf	0,3
    377 	lwarx	6,0,3
    378 	add	6,6,8
    379 	stwcx.	6,0,3
    380 	stwx	6,0,3
    381 	addi	3,3,4
    382 	bc	16,0,.Loop3
    383 
    384 	mr	3,4
    385 	blr
    386 .long	0
    387 .byte	0,12,0x14,0,0,0,2,0
    388 .long	0
    389 
    390 
    391 .globl	OPENSSL_instrument_bus2_mfspr268
    392 .type	OPENSSL_instrument_bus2_mfspr268,@function
    393 .section	".opd","aw"
    394 .align	3
    395 OPENSSL_instrument_bus2_mfspr268:
    396 .quad	.OPENSSL_instrument_bus2_mfspr268,.TOC.@tocbase,0
    397 .previous
    398 .align	4
    399 .OPENSSL_instrument_bus2_mfspr268:
    400 	mr	0,4
    401 	slwi	4,4,2
    402 
    403 	mfspr	7,268
    404 	li	8,0
    405 
    406 	dcbf	0,3
    407 	lwarx	6,0,3
    408 	add	6,6,8
    409 	stwcx.	6,0,3
    410 	stwx	6,0,3
    411 
    412 	mfspr	6,268
    413 	sub	8,6,7
    414 	mr	7,6
    415 	mr	9,8
    416 .Loop4:
    417 	dcbf	0,3
    418 	lwarx	6,0,3
    419 	add	6,6,8
    420 	stwcx.	6,0,3
    421 	stwx	6,0,3
    422 
    423 	addic.	5,5,-1
    424 	beq	.Ldone4
    425 
    426 	mfspr	6,268
    427 	sub	8,6,7
    428 	mr	7,6
    429 	cmplw	7,8,9
    430 	mr	9,8
    431 
    432 	mfcr	6
    433 	not	6,6
    434 	rlwinm	6,6,1,29,29
    435 
    436 	sub.	4,4,6
    437 	add	3,3,6
    438 	bne	.Loop4
    439 
    440 .Ldone4:
    441 	srwi	4,4,2
    442 	sub	3,0,4
    443 	blr
    444 .long	0
    445 .byte	0,12,0x14,0,0,0,3,0
    446 .long	0
    447 
    448