1.machine "any" 2.text 3 4.globl OPENSSL_cpuid_setup 5.type OPENSSL_cpuid_setup,@function 6.align 4 7OPENSSL_cpuid_setup: 8 blr 9 10.globl OPENSSL_wipe_cpu 11.type OPENSSL_wipe_cpu,@function 12.align 4 13OPENSSL_wipe_cpu: 14 xor 0,0,0 15 mr 3,1 16 xor 4,4,4 17 xor 5,5,5 18 xor 6,6,6 19 xor 7,7,7 20 xor 8,8,8 21 xor 9,9,9 22 xor 10,10,10 23 xor 11,11,11 24 xor 12,12,12 25 blr 26 27.globl OPENSSL_atomic_add 28.type OPENSSL_atomic_add,@function 29.align 4 30OPENSSL_atomic_add: 31.Loop: lwarx 5,0,3 32 add 0,4,5 33 stwcx. 0,0,3 34 bne- .Loop 35 mr 3,0 36 blr 37 38.globl OPENSSL_rdtsc 39.type OPENSSL_rdtsc,@function 40.align 4 41OPENSSL_rdtsc: 42 mftb 3 43 mftbu 4 44 blr 45 46.globl OPENSSL_cleanse 47.type OPENSSL_cleanse,@function 48.align 4 49OPENSSL_cleanse: 50 cmplwi 4,7 51 li 0,0 52 bge .Lot 53 cmplwi 4,0 54 bclr 14,2 55.Little: mtctr 4 56 stb 0,0(3) 57 addi 3,3,1 58 bdnz+ $-8 59 blr 60.Lot: andi. 5,3,3 61 beq .Laligned 62 stb 0,0(3) 63 subi 4,4,1 64 addi 3,3,1 65 b .Lot 66.Laligned: 67 srwi 5,4,2 68 mtctr 5 69 stw 0,0(3) 70 addi 3,3,4 71 bdnz+ $-8 72 andi. 4,4,3 73 bne .Little 74 blr 75