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 106.type OPENSSL_rdtsc,@function 107.align 4 108OPENSSL_rdtsc: 109.Loop_rdtsc: 110 mftbu 5 111 mftb 3 112 mftbu 4 113 .long 0x7c042840 114 bne .Loop_rdtsc 115 blr 116.long 0 117.byte 0,12,0x14,0,0,0,0,0 118 119 120.globl OPENSSL_cleanse 121.type OPENSSL_cleanse,@function 122.align 4 123OPENSSL_cleanse: 124 cmplwi 4,7 125 li 0,0 126 bge .Lot 127 cmplwi 4,0 128 beqlr 129.Little: mtctr 4 130 stb 0,0(3) 131 addi 3,3,1 132 bc 16,0,$-8 133 blr 134.Lot: andi. 5,3,3 135 beq .Laligned 136 stb 0,0(3) 137 subi 4,4,1 138 addi 3,3,1 139 b .Lot 140.Laligned: 141 srwi 5,4,2 142 mtctr 5 143 stw 0,0(3) 144 addi 3,3,4 145 bc 16,0,$-8 146 andi. 4,4,3 147 bne .Little 148 blr 149.long 0 150.byte 0,12,0x14,0,0,0,2,0 151.long 0 152 153 154.globl CRYPTO_memcmp 155.type CRYPTO_memcmp,@function 156.align 4 157CRYPTO_memcmp: 158 cmplwi 5,0 159 li 0,0 160 beq .Lno_data 161 mtctr 5 162.Loop_cmp: 163 lbz 6,0(3) 164 addi 3,3,1 165 lbz 7,0(4) 166 addi 4,4,1 167 xor 6,6,7 168 or 0,0,6 169 bc 16,0,.Loop_cmp 170 171.Lno_data: 172 li 3,0 173 sub 3,3,0 174 extrwi 3,3,1,0 175 blr 176.long 0 177.byte 0,12,0x14,0,0,0,3,0 178.long 0 179 180.globl OPENSSL_instrument_bus 181.type OPENSSL_instrument_bus,@function 182.align 4 183OPENSSL_instrument_bus: 184 mtctr 4 185 186 mftb 7 187 li 8,0 188 189 dcbf 0,3 190 lwarx 6,0,3 191 add 6,6,8 192 stwcx. 6,0,3 193 stwx 6,0,3 194 195.Loop: mftb 6 196 sub 8,6,7 197 mr 7,6 198 dcbf 0,3 199 lwarx 6,0,3 200 add 6,6,8 201 stwcx. 6,0,3 202 stwx 6,0,3 203 addi 3,3,4 204 bc 16,0,.Loop 205 206 mr 3,4 207 blr 208.long 0 209.byte 0,12,0x14,0,0,0,2,0 210.long 0 211 212 213.globl OPENSSL_instrument_bus2 214.type OPENSSL_instrument_bus2,@function 215.align 4 216OPENSSL_instrument_bus2: 217 mr 0,4 218 slwi 4,4,2 219 220 mftb 7 221 li 8,0 222 223 dcbf 0,3 224 lwarx 6,0,3 225 add 6,6,8 226 stwcx. 6,0,3 227 stwx 6,0,3 228 229 mftb 6 230 sub 8,6,7 231 mr 7,6 232 mr 9,8 233.Loop2: 234 dcbf 0,3 235 lwarx 6,0,3 236 add 6,6,8 237 stwcx. 6,0,3 238 stwx 6,0,3 239 240 addic. 5,5,-1 241 beq .Ldone2 242 243 mftb 6 244 sub 8,6,7 245 mr 7,6 246 .long 0x7f884840 247 mr 9,8 248 249 mfcr 6 250 not 6,6 251 rlwinm 6,6,1,29,29 252 253 sub. 4,4,6 254 add 3,3,6 255 bne .Loop2 256 257.Ldone2: 258 srwi 4,4,2 259 sub 3,0,4 260 blr 261.long 0 262.byte 0,12,0x14,0,0,0,3,0 263.long 0 264 265