xref: /freebsd/sys/crypto/openssl/powerpc64/ghashp8-ppc.S (revision 71625ec9ad2a9bc8c09784fbd23b759830e0ee5f)
1*3a608692SPiotr Kubaj/* Do not modify. This file is auto-generated from ghashp8-ppc.pl. */
2*3a608692SPiotr Kubaj.machine	"any"
3*3a608692SPiotr Kubaj
4*3a608692SPiotr Kubaj.abiversion	2
5*3a608692SPiotr Kubaj.text
6*3a608692SPiotr Kubaj
7*3a608692SPiotr Kubaj.globl	gcm_init_p8
8*3a608692SPiotr Kubaj.type	gcm_init_p8,@function
9*3a608692SPiotr Kubaj.align	5
10*3a608692SPiotr Kubajgcm_init_p8:
11*3a608692SPiotr Kubaj.localentry	gcm_init_p8,0
12*3a608692SPiotr Kubaj
13*3a608692SPiotr Kubaj	li	0,-4096
14*3a608692SPiotr Kubaj	li	8,0x10
15*3a608692SPiotr Kubaj	li	12,-1
16*3a608692SPiotr Kubaj	li	9,0x20
17*3a608692SPiotr Kubaj	or	0,0,0
18*3a608692SPiotr Kubaj	li	10,0x30
19*3a608692SPiotr Kubaj	.long	0x7D202699
20*3a608692SPiotr Kubaj
21*3a608692SPiotr Kubaj	vspltisb	8,-16
22*3a608692SPiotr Kubaj	vspltisb	5,1
23*3a608692SPiotr Kubaj	vaddubm	8,8,8
24*3a608692SPiotr Kubaj	vxor	4,4,4
25*3a608692SPiotr Kubaj	vor	8,8,5
26*3a608692SPiotr Kubaj	vsldoi	8,8,4,15
27*3a608692SPiotr Kubaj	vsldoi	6,4,5,1
28*3a608692SPiotr Kubaj	vaddubm	8,8,8
29*3a608692SPiotr Kubaj	vspltisb	7,7
30*3a608692SPiotr Kubaj	vor	8,8,6
31*3a608692SPiotr Kubaj	vspltb	6,9,0
32*3a608692SPiotr Kubaj	vsl	9,9,5
33*3a608692SPiotr Kubaj	vsrab	6,6,7
34*3a608692SPiotr Kubaj	vand	6,6,8
35*3a608692SPiotr Kubaj	vxor	3,9,6
36*3a608692SPiotr Kubaj
37*3a608692SPiotr Kubaj	vsldoi	9,3,3,8
38*3a608692SPiotr Kubaj	vsldoi	8,4,8,8
39*3a608692SPiotr Kubaj	vsldoi	11,4,9,8
40*3a608692SPiotr Kubaj	vsldoi	10,9,4,8
41*3a608692SPiotr Kubaj
42*3a608692SPiotr Kubaj	.long	0x7D001F99
43*3a608692SPiotr Kubaj	.long	0x7D681F99
44*3a608692SPiotr Kubaj	li	8,0x40
45*3a608692SPiotr Kubaj	.long	0x7D291F99
46*3a608692SPiotr Kubaj	li	9,0x50
47*3a608692SPiotr Kubaj	.long	0x7D4A1F99
48*3a608692SPiotr Kubaj	li	10,0x60
49*3a608692SPiotr Kubaj
50*3a608692SPiotr Kubaj	.long	0x10035CC8
51*3a608692SPiotr Kubaj	.long	0x10234CC8
52*3a608692SPiotr Kubaj	.long	0x104354C8
53*3a608692SPiotr Kubaj
54*3a608692SPiotr Kubaj	.long	0x10E044C8
55*3a608692SPiotr Kubaj
56*3a608692SPiotr Kubaj	vsldoi	5,1,4,8
57*3a608692SPiotr Kubaj	vsldoi	6,4,1,8
58*3a608692SPiotr Kubaj	vxor	0,0,5
59*3a608692SPiotr Kubaj	vxor	2,2,6
60*3a608692SPiotr Kubaj
61*3a608692SPiotr Kubaj	vsldoi	0,0,0,8
62*3a608692SPiotr Kubaj	vxor	0,0,7
63*3a608692SPiotr Kubaj
64*3a608692SPiotr Kubaj	vsldoi	6,0,0,8
65*3a608692SPiotr Kubaj	.long	0x100044C8
66*3a608692SPiotr Kubaj	vxor	6,6,2
67*3a608692SPiotr Kubaj	vxor	16,0,6
68*3a608692SPiotr Kubaj
69*3a608692SPiotr Kubaj	vsldoi	17,16,16,8
70*3a608692SPiotr Kubaj	vsldoi	19,4,17,8
71*3a608692SPiotr Kubaj	vsldoi	18,17,4,8
72*3a608692SPiotr Kubaj
73*3a608692SPiotr Kubaj	.long	0x7E681F99
74*3a608692SPiotr Kubaj	li	8,0x70
75*3a608692SPiotr Kubaj	.long	0x7E291F99
76*3a608692SPiotr Kubaj	li	9,0x80
77*3a608692SPiotr Kubaj	.long	0x7E4A1F99
78*3a608692SPiotr Kubaj	li	10,0x90
79*3a608692SPiotr Kubaj	.long	0x10039CC8
80*3a608692SPiotr Kubaj	.long	0x11B09CC8
81*3a608692SPiotr Kubaj	.long	0x10238CC8
82*3a608692SPiotr Kubaj	.long	0x11D08CC8
83*3a608692SPiotr Kubaj	.long	0x104394C8
84*3a608692SPiotr Kubaj	.long	0x11F094C8
85*3a608692SPiotr Kubaj
86*3a608692SPiotr Kubaj	.long	0x10E044C8
87*3a608692SPiotr Kubaj	.long	0x114D44C8
88*3a608692SPiotr Kubaj
89*3a608692SPiotr Kubaj	vsldoi	5,1,4,8
90*3a608692SPiotr Kubaj	vsldoi	6,4,1,8
91*3a608692SPiotr Kubaj	vsldoi	11,14,4,8
92*3a608692SPiotr Kubaj	vsldoi	9,4,14,8
93*3a608692SPiotr Kubaj	vxor	0,0,5
94*3a608692SPiotr Kubaj	vxor	2,2,6
95*3a608692SPiotr Kubaj	vxor	13,13,11
96*3a608692SPiotr Kubaj	vxor	15,15,9
97*3a608692SPiotr Kubaj
98*3a608692SPiotr Kubaj	vsldoi	0,0,0,8
99*3a608692SPiotr Kubaj	vsldoi	13,13,13,8
100*3a608692SPiotr Kubaj	vxor	0,0,7
101*3a608692SPiotr Kubaj	vxor	13,13,10
102*3a608692SPiotr Kubaj
103*3a608692SPiotr Kubaj	vsldoi	6,0,0,8
104*3a608692SPiotr Kubaj	vsldoi	9,13,13,8
105*3a608692SPiotr Kubaj	.long	0x100044C8
106*3a608692SPiotr Kubaj	.long	0x11AD44C8
107*3a608692SPiotr Kubaj	vxor	6,6,2
108*3a608692SPiotr Kubaj	vxor	9,9,15
109*3a608692SPiotr Kubaj	vxor	0,0,6
110*3a608692SPiotr Kubaj	vxor	13,13,9
111*3a608692SPiotr Kubaj
112*3a608692SPiotr Kubaj	vsldoi	9,0,0,8
113*3a608692SPiotr Kubaj	vsldoi	17,13,13,8
114*3a608692SPiotr Kubaj	vsldoi	11,4,9,8
115*3a608692SPiotr Kubaj	vsldoi	10,9,4,8
116*3a608692SPiotr Kubaj	vsldoi	19,4,17,8
117*3a608692SPiotr Kubaj	vsldoi	18,17,4,8
118*3a608692SPiotr Kubaj
119*3a608692SPiotr Kubaj	.long	0x7D681F99
120*3a608692SPiotr Kubaj	li	8,0xa0
121*3a608692SPiotr Kubaj	.long	0x7D291F99
122*3a608692SPiotr Kubaj	li	9,0xb0
123*3a608692SPiotr Kubaj	.long	0x7D4A1F99
124*3a608692SPiotr Kubaj	li	10,0xc0
125*3a608692SPiotr Kubaj	.long	0x7E681F99
126*3a608692SPiotr Kubaj	.long	0x7E291F99
127*3a608692SPiotr Kubaj	.long	0x7E4A1F99
128*3a608692SPiotr Kubaj
129*3a608692SPiotr Kubaj	or	12,12,12
130*3a608692SPiotr Kubaj	blr
131*3a608692SPiotr Kubaj.long	0
132*3a608692SPiotr Kubaj.byte	0,12,0x14,0,0,0,2,0
133*3a608692SPiotr Kubaj.long	0
134*3a608692SPiotr Kubaj.size	gcm_init_p8,.-gcm_init_p8
135*3a608692SPiotr Kubaj.globl	gcm_gmult_p8
136*3a608692SPiotr Kubaj.type	gcm_gmult_p8,@function
137*3a608692SPiotr Kubaj.align	5
138*3a608692SPiotr Kubajgcm_gmult_p8:
139*3a608692SPiotr Kubaj.localentry	gcm_gmult_p8,0
140*3a608692SPiotr Kubaj
141*3a608692SPiotr Kubaj	lis	0,0xfff8
142*3a608692SPiotr Kubaj	li	8,0x10
143*3a608692SPiotr Kubaj	li	12,-1
144*3a608692SPiotr Kubaj	li	9,0x20
145*3a608692SPiotr Kubaj	or	0,0,0
146*3a608692SPiotr Kubaj	li	10,0x30
147*3a608692SPiotr Kubaj	.long	0x7C601E99
148*3a608692SPiotr Kubaj
149*3a608692SPiotr Kubaj	.long	0x7D682699
150*3a608692SPiotr Kubaj
151*3a608692SPiotr Kubaj	.long	0x7D292699
152*3a608692SPiotr Kubaj
153*3a608692SPiotr Kubaj	.long	0x7D4A2699
154*3a608692SPiotr Kubaj
155*3a608692SPiotr Kubaj	.long	0x7D002699
156*3a608692SPiotr Kubaj
157*3a608692SPiotr Kubaj	vxor	4,4,4
158*3a608692SPiotr Kubaj
159*3a608692SPiotr Kubaj	.long	0x10035CC8
160*3a608692SPiotr Kubaj	.long	0x10234CC8
161*3a608692SPiotr Kubaj	.long	0x104354C8
162*3a608692SPiotr Kubaj
163*3a608692SPiotr Kubaj	.long	0x10E044C8
164*3a608692SPiotr Kubaj
165*3a608692SPiotr Kubaj	vsldoi	5,1,4,8
166*3a608692SPiotr Kubaj	vsldoi	6,4,1,8
167*3a608692SPiotr Kubaj	vxor	0,0,5
168*3a608692SPiotr Kubaj	vxor	2,2,6
169*3a608692SPiotr Kubaj
170*3a608692SPiotr Kubaj	vsldoi	0,0,0,8
171*3a608692SPiotr Kubaj	vxor	0,0,7
172*3a608692SPiotr Kubaj
173*3a608692SPiotr Kubaj	vsldoi	6,0,0,8
174*3a608692SPiotr Kubaj	.long	0x100044C8
175*3a608692SPiotr Kubaj	vxor	6,6,2
176*3a608692SPiotr Kubaj	vxor	0,0,6
177*3a608692SPiotr Kubaj
178*3a608692SPiotr Kubaj
179*3a608692SPiotr Kubaj	.long	0x7C001F99
180*3a608692SPiotr Kubaj
181*3a608692SPiotr Kubaj	or	12,12,12
182*3a608692SPiotr Kubaj	blr
183*3a608692SPiotr Kubaj.long	0
184*3a608692SPiotr Kubaj.byte	0,12,0x14,0,0,0,2,0
185*3a608692SPiotr Kubaj.long	0
186*3a608692SPiotr Kubaj.size	gcm_gmult_p8,.-gcm_gmult_p8
187*3a608692SPiotr Kubaj
188*3a608692SPiotr Kubaj.globl	gcm_ghash_p8
189*3a608692SPiotr Kubaj.type	gcm_ghash_p8,@function
190*3a608692SPiotr Kubaj.align	5
191*3a608692SPiotr Kubajgcm_ghash_p8:
192*3a608692SPiotr Kubaj.localentry	gcm_ghash_p8,0
193*3a608692SPiotr Kubaj
194*3a608692SPiotr Kubaj	li	0,-4096
195*3a608692SPiotr Kubaj	li	8,0x10
196*3a608692SPiotr Kubaj	li	12,-1
197*3a608692SPiotr Kubaj	li	9,0x20
198*3a608692SPiotr Kubaj	or	0,0,0
199*3a608692SPiotr Kubaj	li	10,0x30
200*3a608692SPiotr Kubaj	.long	0x7C001E99
201*3a608692SPiotr Kubaj
202*3a608692SPiotr Kubaj	.long	0x7D682699
203*3a608692SPiotr Kubaj	li	8,0x40
204*3a608692SPiotr Kubaj
205*3a608692SPiotr Kubaj	.long	0x7D292699
206*3a608692SPiotr Kubaj	li	9,0x50
207*3a608692SPiotr Kubaj
208*3a608692SPiotr Kubaj	.long	0x7D4A2699
209*3a608692SPiotr Kubaj	li	10,0x60
210*3a608692SPiotr Kubaj
211*3a608692SPiotr Kubaj	.long	0x7D002699
212*3a608692SPiotr Kubaj
213*3a608692SPiotr Kubaj	vxor	4,4,4
214*3a608692SPiotr Kubaj
215*3a608692SPiotr Kubaj	cmpldi	6,64
216*3a608692SPiotr Kubaj	bge	.Lgcm_ghash_p8_4x
217*3a608692SPiotr Kubaj
218*3a608692SPiotr Kubaj	.long	0x7C602E99
219*3a608692SPiotr Kubaj	addi	5,5,16
220*3a608692SPiotr Kubaj	subic.	6,6,16
221*3a608692SPiotr Kubaj
222*3a608692SPiotr Kubaj	vxor	3,3,0
223*3a608692SPiotr Kubaj	beq	.Lshort
224*3a608692SPiotr Kubaj
225*3a608692SPiotr Kubaj	.long	0x7E682699
226*3a608692SPiotr Kubaj	li	8,16
227*3a608692SPiotr Kubaj	.long	0x7E292699
228*3a608692SPiotr Kubaj	add	9,5,6
229*3a608692SPiotr Kubaj	.long	0x7E4A2699
230*3a608692SPiotr Kubaj	b	.Loop_2x
231*3a608692SPiotr Kubaj
232*3a608692SPiotr Kubaj.align	5
233*3a608692SPiotr Kubaj.Loop_2x:
234*3a608692SPiotr Kubaj	.long	0x7E002E99
235*3a608692SPiotr Kubaj
236*3a608692SPiotr Kubaj
237*3a608692SPiotr Kubaj	subic	6,6,32
238*3a608692SPiotr Kubaj	.long	0x10039CC8
239*3a608692SPiotr Kubaj	.long	0x11B05CC8
240*3a608692SPiotr Kubaj	subfe	0,0,0
241*3a608692SPiotr Kubaj	.long	0x10238CC8
242*3a608692SPiotr Kubaj	.long	0x11D04CC8
243*3a608692SPiotr Kubaj	and	0,0,6
244*3a608692SPiotr Kubaj	.long	0x104394C8
245*3a608692SPiotr Kubaj	.long	0x11F054C8
246*3a608692SPiotr Kubaj	add	5,5,0
247*3a608692SPiotr Kubaj
248*3a608692SPiotr Kubaj	vxor	0,0,13
249*3a608692SPiotr Kubaj	vxor	1,1,14
250*3a608692SPiotr Kubaj
251*3a608692SPiotr Kubaj	.long	0x10E044C8
252*3a608692SPiotr Kubaj
253*3a608692SPiotr Kubaj	vsldoi	5,1,4,8
254*3a608692SPiotr Kubaj	vsldoi	6,4,1,8
255*3a608692SPiotr Kubaj	vxor	2,2,15
256*3a608692SPiotr Kubaj	vxor	0,0,5
257*3a608692SPiotr Kubaj	vxor	2,2,6
258*3a608692SPiotr Kubaj
259*3a608692SPiotr Kubaj	vsldoi	0,0,0,8
260*3a608692SPiotr Kubaj	vxor	0,0,7
261*3a608692SPiotr Kubaj	.long	0x7C682E99
262*3a608692SPiotr Kubaj	addi	5,5,32
263*3a608692SPiotr Kubaj
264*3a608692SPiotr Kubaj	vsldoi	6,0,0,8
265*3a608692SPiotr Kubaj	.long	0x100044C8
266*3a608692SPiotr Kubaj
267*3a608692SPiotr Kubaj	vxor	6,6,2
268*3a608692SPiotr Kubaj	vxor	3,3,6
269*3a608692SPiotr Kubaj	vxor	3,3,0
270*3a608692SPiotr Kubaj	cmpld	9,5
271*3a608692SPiotr Kubaj	bgt	.Loop_2x
272*3a608692SPiotr Kubaj
273*3a608692SPiotr Kubaj	cmplwi	6,0
274*3a608692SPiotr Kubaj	bne	.Leven
275*3a608692SPiotr Kubaj
276*3a608692SPiotr Kubaj.Lshort:
277*3a608692SPiotr Kubaj	.long	0x10035CC8
278*3a608692SPiotr Kubaj	.long	0x10234CC8
279*3a608692SPiotr Kubaj	.long	0x104354C8
280*3a608692SPiotr Kubaj
281*3a608692SPiotr Kubaj	.long	0x10E044C8
282*3a608692SPiotr Kubaj
283*3a608692SPiotr Kubaj	vsldoi	5,1,4,8
284*3a608692SPiotr Kubaj	vsldoi	6,4,1,8
285*3a608692SPiotr Kubaj	vxor	0,0,5
286*3a608692SPiotr Kubaj	vxor	2,2,6
287*3a608692SPiotr Kubaj
288*3a608692SPiotr Kubaj	vsldoi	0,0,0,8
289*3a608692SPiotr Kubaj	vxor	0,0,7
290*3a608692SPiotr Kubaj
291*3a608692SPiotr Kubaj	vsldoi	6,0,0,8
292*3a608692SPiotr Kubaj	.long	0x100044C8
293*3a608692SPiotr Kubaj	vxor	6,6,2
294*3a608692SPiotr Kubaj
295*3a608692SPiotr Kubaj.Leven:
296*3a608692SPiotr Kubaj	vxor	0,0,6
297*3a608692SPiotr Kubaj
298*3a608692SPiotr Kubaj	.long	0x7C001F99
299*3a608692SPiotr Kubaj
300*3a608692SPiotr Kubaj	or	12,12,12
301*3a608692SPiotr Kubaj	blr
302*3a608692SPiotr Kubaj.long	0
303*3a608692SPiotr Kubaj.byte	0,12,0x14,0,0,0,4,0
304*3a608692SPiotr Kubaj.long	0
305*3a608692SPiotr Kubaj.align	5
306*3a608692SPiotr Kubaj.gcm_ghash_p8_4x:
307*3a608692SPiotr Kubaj.Lgcm_ghash_p8_4x:
308*3a608692SPiotr Kubaj	stdu	1,-256(1)
309*3a608692SPiotr Kubaj	li	10,63
310*3a608692SPiotr Kubaj	li	11,79
311*3a608692SPiotr Kubaj	stvx	20,10,1
312*3a608692SPiotr Kubaj	addi	10,10,32
313*3a608692SPiotr Kubaj	stvx	21,11,1
314*3a608692SPiotr Kubaj	addi	11,11,32
315*3a608692SPiotr Kubaj	stvx	22,10,1
316*3a608692SPiotr Kubaj	addi	10,10,32
317*3a608692SPiotr Kubaj	stvx	23,11,1
318*3a608692SPiotr Kubaj	addi	11,11,32
319*3a608692SPiotr Kubaj	stvx	24,10,1
320*3a608692SPiotr Kubaj	addi	10,10,32
321*3a608692SPiotr Kubaj	stvx	25,11,1
322*3a608692SPiotr Kubaj	addi	11,11,32
323*3a608692SPiotr Kubaj	stvx	26,10,1
324*3a608692SPiotr Kubaj	addi	10,10,32
325*3a608692SPiotr Kubaj	stvx	27,11,1
326*3a608692SPiotr Kubaj	addi	11,11,32
327*3a608692SPiotr Kubaj	stvx	28,10,1
328*3a608692SPiotr Kubaj	addi	10,10,32
329*3a608692SPiotr Kubaj	stvx	29,11,1
330*3a608692SPiotr Kubaj	addi	11,11,32
331*3a608692SPiotr Kubaj	stvx	30,10,1
332*3a608692SPiotr Kubaj	li	10,0x60
333*3a608692SPiotr Kubaj	stvx	31,11,1
334*3a608692SPiotr Kubaj	li	0,-1
335*3a608692SPiotr Kubaj	stw	12,252(1)
336*3a608692SPiotr Kubaj	or	0,0,0
337*3a608692SPiotr Kubaj
338*3a608692SPiotr Kubaj	lvsl	5,0,8
339*3a608692SPiotr Kubaj
340*3a608692SPiotr Kubaj	li	8,0x70
341*3a608692SPiotr Kubaj	.long	0x7E292699
342*3a608692SPiotr Kubaj	li	9,0x80
343*3a608692SPiotr Kubaj	vspltisb	6,8
344*3a608692SPiotr Kubaj
345*3a608692SPiotr Kubaj	li	10,0x90
346*3a608692SPiotr Kubaj	.long	0x7EE82699
347*3a608692SPiotr Kubaj	li	8,0xa0
348*3a608692SPiotr Kubaj	.long	0x7F092699
349*3a608692SPiotr Kubaj	li	9,0xb0
350*3a608692SPiotr Kubaj	.long	0x7F2A2699
351*3a608692SPiotr Kubaj	li	10,0xc0
352*3a608692SPiotr Kubaj	.long	0x7FA82699
353*3a608692SPiotr Kubaj	li	8,0x10
354*3a608692SPiotr Kubaj	.long	0x7FC92699
355*3a608692SPiotr Kubaj	li	9,0x20
356*3a608692SPiotr Kubaj	.long	0x7FEA2699
357*3a608692SPiotr Kubaj	li	10,0x30
358*3a608692SPiotr Kubaj
359*3a608692SPiotr Kubaj	vsldoi	7,4,6,8
360*3a608692SPiotr Kubaj	vaddubm	18,5,7
361*3a608692SPiotr Kubaj	vaddubm	19,6,18
362*3a608692SPiotr Kubaj
363*3a608692SPiotr Kubaj	srdi	6,6,4
364*3a608692SPiotr Kubaj
365*3a608692SPiotr Kubaj	.long	0x7C602E99
366*3a608692SPiotr Kubaj	.long	0x7E082E99
367*3a608692SPiotr Kubaj	subic.	6,6,8
368*3a608692SPiotr Kubaj	.long	0x7EC92E99
369*3a608692SPiotr Kubaj	.long	0x7F8A2E99
370*3a608692SPiotr Kubaj	addi	5,5,0x40
371*3a608692SPiotr Kubaj
372*3a608692SPiotr Kubaj
373*3a608692SPiotr Kubaj
374*3a608692SPiotr Kubaj
375*3a608692SPiotr Kubaj
376*3a608692SPiotr Kubaj	vxor	2,3,0
377*3a608692SPiotr Kubaj
378*3a608692SPiotr Kubaj	.long	0x11B0BCC8
379*3a608692SPiotr Kubaj	.long	0x11D0C4C8
380*3a608692SPiotr Kubaj	.long	0x11F0CCC8
381*3a608692SPiotr Kubaj
382*3a608692SPiotr Kubaj	vperm	11,17,9,18
383*3a608692SPiotr Kubaj	vperm	5,22,28,19
384*3a608692SPiotr Kubaj	vperm	10,17,9,19
385*3a608692SPiotr Kubaj	vperm	6,22,28,18
386*3a608692SPiotr Kubaj	.long	0x12B68CC8
387*3a608692SPiotr Kubaj	.long	0x12855CC8
388*3a608692SPiotr Kubaj	.long	0x137C4CC8
389*3a608692SPiotr Kubaj	.long	0x134654C8
390*3a608692SPiotr Kubaj
391*3a608692SPiotr Kubaj	vxor	21,21,14
392*3a608692SPiotr Kubaj	vxor	20,20,13
393*3a608692SPiotr Kubaj	vxor	27,27,21
394*3a608692SPiotr Kubaj	vxor	26,26,15
395*3a608692SPiotr Kubaj
396*3a608692SPiotr Kubaj	blt	.Ltail_4x
397*3a608692SPiotr Kubaj
398*3a608692SPiotr Kubaj.Loop_4x:
399*3a608692SPiotr Kubaj	.long	0x7C602E99
400*3a608692SPiotr Kubaj	.long	0x7E082E99
401*3a608692SPiotr Kubaj	subic.	6,6,4
402*3a608692SPiotr Kubaj	.long	0x7EC92E99
403*3a608692SPiotr Kubaj	.long	0x7F8A2E99
404*3a608692SPiotr Kubaj	addi	5,5,0x40
405*3a608692SPiotr Kubaj
406*3a608692SPiotr Kubaj
407*3a608692SPiotr Kubaj
408*3a608692SPiotr Kubaj
409*3a608692SPiotr Kubaj
410*3a608692SPiotr Kubaj	.long	0x1002ECC8
411*3a608692SPiotr Kubaj	.long	0x1022F4C8
412*3a608692SPiotr Kubaj	.long	0x1042FCC8
413*3a608692SPiotr Kubaj	.long	0x11B0BCC8
414*3a608692SPiotr Kubaj	.long	0x11D0C4C8
415*3a608692SPiotr Kubaj	.long	0x11F0CCC8
416*3a608692SPiotr Kubaj
417*3a608692SPiotr Kubaj	vxor	0,0,20
418*3a608692SPiotr Kubaj	vxor	1,1,27
419*3a608692SPiotr Kubaj	vxor	2,2,26
420*3a608692SPiotr Kubaj	vperm	5,22,28,19
421*3a608692SPiotr Kubaj	vperm	6,22,28,18
422*3a608692SPiotr Kubaj
423*3a608692SPiotr Kubaj	.long	0x10E044C8
424*3a608692SPiotr Kubaj	.long	0x12855CC8
425*3a608692SPiotr Kubaj	.long	0x134654C8
426*3a608692SPiotr Kubaj
427*3a608692SPiotr Kubaj	vsldoi	5,1,4,8
428*3a608692SPiotr Kubaj	vsldoi	6,4,1,8
429*3a608692SPiotr Kubaj	vxor	0,0,5
430*3a608692SPiotr Kubaj	vxor	2,2,6
431*3a608692SPiotr Kubaj
432*3a608692SPiotr Kubaj	vsldoi	0,0,0,8
433*3a608692SPiotr Kubaj	vxor	0,0,7
434*3a608692SPiotr Kubaj
435*3a608692SPiotr Kubaj	vsldoi	6,0,0,8
436*3a608692SPiotr Kubaj	.long	0x12B68CC8
437*3a608692SPiotr Kubaj	.long	0x137C4CC8
438*3a608692SPiotr Kubaj	.long	0x100044C8
439*3a608692SPiotr Kubaj
440*3a608692SPiotr Kubaj	vxor	20,20,13
441*3a608692SPiotr Kubaj	vxor	26,26,15
442*3a608692SPiotr Kubaj	vxor	2,2,3
443*3a608692SPiotr Kubaj	vxor	21,21,14
444*3a608692SPiotr Kubaj	vxor	2,2,6
445*3a608692SPiotr Kubaj	vxor	27,27,21
446*3a608692SPiotr Kubaj	vxor	2,2,0
447*3a608692SPiotr Kubaj	bge	.Loop_4x
448*3a608692SPiotr Kubaj
449*3a608692SPiotr Kubaj.Ltail_4x:
450*3a608692SPiotr Kubaj	.long	0x1002ECC8
451*3a608692SPiotr Kubaj	.long	0x1022F4C8
452*3a608692SPiotr Kubaj	.long	0x1042FCC8
453*3a608692SPiotr Kubaj
454*3a608692SPiotr Kubaj	vxor	0,0,20
455*3a608692SPiotr Kubaj	vxor	1,1,27
456*3a608692SPiotr Kubaj
457*3a608692SPiotr Kubaj	.long	0x10E044C8
458*3a608692SPiotr Kubaj
459*3a608692SPiotr Kubaj	vsldoi	5,1,4,8
460*3a608692SPiotr Kubaj	vsldoi	6,4,1,8
461*3a608692SPiotr Kubaj	vxor	2,2,26
462*3a608692SPiotr Kubaj	vxor	0,0,5
463*3a608692SPiotr Kubaj	vxor	2,2,6
464*3a608692SPiotr Kubaj
465*3a608692SPiotr Kubaj	vsldoi	0,0,0,8
466*3a608692SPiotr Kubaj	vxor	0,0,7
467*3a608692SPiotr Kubaj
468*3a608692SPiotr Kubaj	vsldoi	6,0,0,8
469*3a608692SPiotr Kubaj	.long	0x100044C8
470*3a608692SPiotr Kubaj	vxor	6,6,2
471*3a608692SPiotr Kubaj	vxor	0,0,6
472*3a608692SPiotr Kubaj
473*3a608692SPiotr Kubaj	addic.	6,6,4
474*3a608692SPiotr Kubaj	beq	.Ldone_4x
475*3a608692SPiotr Kubaj
476*3a608692SPiotr Kubaj	.long	0x7C602E99
477*3a608692SPiotr Kubaj	cmpldi	6,2
478*3a608692SPiotr Kubaj	li	6,-4
479*3a608692SPiotr Kubaj	blt	.Lone
480*3a608692SPiotr Kubaj	.long	0x7E082E99
481*3a608692SPiotr Kubaj	beq	.Ltwo
482*3a608692SPiotr Kubaj
483*3a608692SPiotr Kubaj.Lthree:
484*3a608692SPiotr Kubaj	.long	0x7EC92E99
485*3a608692SPiotr Kubaj
486*3a608692SPiotr Kubaj
487*3a608692SPiotr Kubaj
488*3a608692SPiotr Kubaj
489*3a608692SPiotr Kubaj	vxor	2,3,0
490*3a608692SPiotr Kubaj	vor	29,23,23
491*3a608692SPiotr Kubaj	vor	30,24,24
492*3a608692SPiotr Kubaj	vor	31,25,25
493*3a608692SPiotr Kubaj
494*3a608692SPiotr Kubaj	vperm	5,16,22,19
495*3a608692SPiotr Kubaj	vperm	6,16,22,18
496*3a608692SPiotr Kubaj	.long	0x12B08CC8
497*3a608692SPiotr Kubaj	.long	0x13764CC8
498*3a608692SPiotr Kubaj	.long	0x12855CC8
499*3a608692SPiotr Kubaj	.long	0x134654C8
500*3a608692SPiotr Kubaj
501*3a608692SPiotr Kubaj	vxor	27,27,21
502*3a608692SPiotr Kubaj	b	.Ltail_4x
503*3a608692SPiotr Kubaj
504*3a608692SPiotr Kubaj.align	4
505*3a608692SPiotr Kubaj.Ltwo:
506*3a608692SPiotr Kubaj
507*3a608692SPiotr Kubaj
508*3a608692SPiotr Kubaj
509*3a608692SPiotr Kubaj	vxor	2,3,0
510*3a608692SPiotr Kubaj	vperm	5,4,16,19
511*3a608692SPiotr Kubaj	vperm	6,4,16,18
512*3a608692SPiotr Kubaj
513*3a608692SPiotr Kubaj	vsldoi	29,4,17,8
514*3a608692SPiotr Kubaj	vor	30,17,17
515*3a608692SPiotr Kubaj	vsldoi	31,17,4,8
516*3a608692SPiotr Kubaj
517*3a608692SPiotr Kubaj	.long	0x12855CC8
518*3a608692SPiotr Kubaj	.long	0x13704CC8
519*3a608692SPiotr Kubaj	.long	0x134654C8
520*3a608692SPiotr Kubaj
521*3a608692SPiotr Kubaj	b	.Ltail_4x
522*3a608692SPiotr Kubaj
523*3a608692SPiotr Kubaj.align	4
524*3a608692SPiotr Kubaj.Lone:
525*3a608692SPiotr Kubaj
526*3a608692SPiotr Kubaj
527*3a608692SPiotr Kubaj	vsldoi	29,4,9,8
528*3a608692SPiotr Kubaj	vor	30,9,9
529*3a608692SPiotr Kubaj	vsldoi	31,9,4,8
530*3a608692SPiotr Kubaj
531*3a608692SPiotr Kubaj	vxor	2,3,0
532*3a608692SPiotr Kubaj	vxor	20,20,20
533*3a608692SPiotr Kubaj	vxor	27,27,27
534*3a608692SPiotr Kubaj	vxor	26,26,26
535*3a608692SPiotr Kubaj
536*3a608692SPiotr Kubaj	b	.Ltail_4x
537*3a608692SPiotr Kubaj
538*3a608692SPiotr Kubaj.Ldone_4x:
539*3a608692SPiotr Kubaj
540*3a608692SPiotr Kubaj	.long	0x7C001F99
541*3a608692SPiotr Kubaj
542*3a608692SPiotr Kubaj	li	10,63
543*3a608692SPiotr Kubaj	li	11,79
544*3a608692SPiotr Kubaj	or	12,12,12
545*3a608692SPiotr Kubaj	lvx	20,10,1
546*3a608692SPiotr Kubaj	addi	10,10,32
547*3a608692SPiotr Kubaj	lvx	21,11,1
548*3a608692SPiotr Kubaj	addi	11,11,32
549*3a608692SPiotr Kubaj	lvx	22,10,1
550*3a608692SPiotr Kubaj	addi	10,10,32
551*3a608692SPiotr Kubaj	lvx	23,11,1
552*3a608692SPiotr Kubaj	addi	11,11,32
553*3a608692SPiotr Kubaj	lvx	24,10,1
554*3a608692SPiotr Kubaj	addi	10,10,32
555*3a608692SPiotr Kubaj	lvx	25,11,1
556*3a608692SPiotr Kubaj	addi	11,11,32
557*3a608692SPiotr Kubaj	lvx	26,10,1
558*3a608692SPiotr Kubaj	addi	10,10,32
559*3a608692SPiotr Kubaj	lvx	27,11,1
560*3a608692SPiotr Kubaj	addi	11,11,32
561*3a608692SPiotr Kubaj	lvx	28,10,1
562*3a608692SPiotr Kubaj	addi	10,10,32
563*3a608692SPiotr Kubaj	lvx	29,11,1
564*3a608692SPiotr Kubaj	addi	11,11,32
565*3a608692SPiotr Kubaj	lvx	30,10,1
566*3a608692SPiotr Kubaj	lvx	31,11,1
567*3a608692SPiotr Kubaj	addi	1,1,256
568*3a608692SPiotr Kubaj	blr
569*3a608692SPiotr Kubaj.long	0
570*3a608692SPiotr Kubaj.byte	0,12,0x04,0,0x80,0,4,0
571*3a608692SPiotr Kubaj.long	0
572*3a608692SPiotr Kubaj.size	gcm_ghash_p8,.-gcm_ghash_p8
573*3a608692SPiotr Kubaj
574*3a608692SPiotr Kubaj.byte	71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
575*3a608692SPiotr Kubaj.align	2
576*3a608692SPiotr Kubaj.align	2
577