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