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