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