xref: /netbsd-src/crypto/external/bsd/openssl.old/lib/libcrypto/arch/powerpc/ppccpuid.S (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1.machine	"any"
2.text
3
4.globl	OPENSSL_ppc64_probe
5.type	OPENSSL_ppc64_probe,@function
6.align	4
7OPENSSL_ppc64_probe:
8	fcfid	1,1
9	rldicl	0,0,32,32
10	blr
11.long	0
12.byte	0,12,0x14,0,0,0,0,0
13
14
15.globl	OPENSSL_altivec_probe
16.type	OPENSSL_altivec_probe,@function
17.align	4
18OPENSSL_altivec_probe:
19.long	0x10000484
20	blr
21.long	0
22.byte	0,12,0x14,0,0,0,0,0
23
24
25.globl	OPENSSL_crypto207_probe
26.type	OPENSSL_crypto207_probe,@function
27.align	4
28OPENSSL_crypto207_probe:
29.long	0x7C000E99
30.long	0x10000508
31	blr
32.long	0
33.byte	0,12,0x14,0,0,0,0,0
34
35
36.globl	OPENSSL_wipe_cpu
37.type	OPENSSL_wipe_cpu,@function
38.align	4
39OPENSSL_wipe_cpu:
40	xor	0,0,0
41	fmr	0,31
42	fmr	1,31
43	fmr	2,31
44	mr	3,1
45	fmr	3,31
46	xor	4,4,4
47	fmr	4,31
48	xor	5,5,5
49	fmr	5,31
50	xor	6,6,6
51	fmr	6,31
52	xor	7,7,7
53	fmr	7,31
54	xor	8,8,8
55	fmr	8,31
56	xor	9,9,9
57	fmr	9,31
58	xor	10,10,10
59	fmr	10,31
60	xor	11,11,11
61	fmr	11,31
62	xor	12,12,12
63	fmr	12,31
64	fmr	13,31
65	blr
66.long	0
67.byte	0,12,0x14,0,0,0,0,0
68
69
70.globl	OPENSSL_atomic_add
71.type	OPENSSL_atomic_add,@function
72.align	4
73OPENSSL_atomic_add:
74.Ladd:	lwarx	5,0,3
75	add	0,4,5
76	stwcx.	0,0,3
77	bne-	.Ladd
78	mr	3,0
79	blr
80.long	0
81.byte	0,12,0x14,0,0,0,2,0
82.long	0
83
84
85.globl	OPENSSL_rdtsc
86.type	OPENSSL_rdtsc,@function
87.align	4
88OPENSSL_rdtsc:
89.Lrdtsc:
90	mftb	5
91	mftbu	4
92	mftb	3
93	.long	0x7c032840
94	bne	.Lrdtsc
95	blr
96.long	0
97.byte	0,12,0x14,0,0,0,0,0
98
99
100.globl	OPENSSL_cleanse
101.type	OPENSSL_cleanse,@function
102.align	4
103OPENSSL_cleanse:
104	cmplwi	4,7
105	li	0,0
106	bge	.Lot
107	cmplwi	4,0
108	beqlr
109.Little:	mtctr	4
110	stb	0,0(3)
111	addi	3,3,1
112	bc	16,0,$-8
113	blr
114.Lot:	andi.	5,3,3
115	beq	.Laligned
116	stb	0,0(3)
117	subi	4,4,1
118	addi	3,3,1
119	b	.Lot
120.Laligned:
121	srwi	5,4,2
122	mtctr	5
123	stw	0,0(3)
124	addi	3,3,4
125	bc	16,0,$-8
126	andi.	4,4,3
127	bne	.Little
128	blr
129.long	0
130.byte	0,12,0x14,0,0,0,2,0
131.long	0
132
133