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