Sync usage with man page.
[netbsd-mini2440.git] / crypto / external / bsd / openssl / lib / libcrypto / arch / powerpc / ppccpuid.S
blob9c5f139d3b4d78d9b48d05d91bb3d408fc785902
1 .text
3 .globl  OPENSSL_cpuid_setup
4 .type   OPENSSL_cpuid_setup,@function
5 .align  4
6 OPENSSL_cpuid_setup:
7         blr     
9 .globl  OPENSSL_wipe_cpu
10 .type   OPENSSL_wipe_cpu,@function
11 .align  4
12 OPENSSL_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     
26 .globl  OPENSSL_atomic_add
27 .type   OPENSSL_atomic_add,@function
28 .align  4
29 OPENSSL_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     
37 .globl  OPENSSL_rdtsc
38 .type   OPENSSL_rdtsc,@function
39 .align  4
40 OPENSSL_rdtsc:
41         mftb    3
42         mftbu   4
43         blr     
45 .globl  OPENSSL_cleanse
46 .type   OPENSSL_cleanse,@function
47 .align  4
48 OPENSSL_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