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