xref: /aosp_15_r20/external/boringssl/src/gen/bcm/ghash-x86-win.asm (revision 8fb009dc861624b67b6cdb62ea21f0f22d0c584b)
1*8fb009dcSAndroid Build Coastguard Worker; This file is generated from a similarly-named Perl script in the BoringSSL
2*8fb009dcSAndroid Build Coastguard Worker; source tree. Do not edit by hand.
3*8fb009dcSAndroid Build Coastguard Worker
4*8fb009dcSAndroid Build Coastguard Worker%ifdef BORINGSSL_PREFIX
5*8fb009dcSAndroid Build Coastguard Worker%include "boringssl_prefix_symbols_nasm.inc"
6*8fb009dcSAndroid Build Coastguard Worker%endif
7*8fb009dcSAndroid Build Coastguard Worker%ifidn __OUTPUT_FORMAT__, win32
8*8fb009dcSAndroid Build Coastguard Worker%ifidn __OUTPUT_FORMAT__,obj
9*8fb009dcSAndroid Build Coastguard Workersection	code	use32 class=code align=64
10*8fb009dcSAndroid Build Coastguard Worker%elifidn __OUTPUT_FORMAT__,win32
11*8fb009dcSAndroid Build Coastguard Worker$@feat.00 equ 1
12*8fb009dcSAndroid Build Coastguard Workersection	.text	code align=64
13*8fb009dcSAndroid Build Coastguard Worker%else
14*8fb009dcSAndroid Build Coastguard Workersection	.text	code
15*8fb009dcSAndroid Build Coastguard Worker%endif
16*8fb009dcSAndroid Build Coastguard Workerglobal	_gcm_init_clmul
17*8fb009dcSAndroid Build Coastguard Workeralign	16
18*8fb009dcSAndroid Build Coastguard Worker_gcm_init_clmul:
19*8fb009dcSAndroid Build Coastguard WorkerL$_gcm_init_clmul_begin:
20*8fb009dcSAndroid Build Coastguard Worker	mov	edx,DWORD [4+esp]
21*8fb009dcSAndroid Build Coastguard Worker	mov	eax,DWORD [8+esp]
22*8fb009dcSAndroid Build Coastguard Worker	call	L$000pic
23*8fb009dcSAndroid Build Coastguard WorkerL$000pic:
24*8fb009dcSAndroid Build Coastguard Worker	pop	ecx
25*8fb009dcSAndroid Build Coastguard Worker	lea	ecx,[(L$bswap-L$000pic)+ecx]
26*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm2,[eax]
27*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm2,xmm2,78
28*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm4,xmm2,255
29*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm2
30*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm2,1
31*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm5,xmm5
32*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm3,63
33*8fb009dcSAndroid Build Coastguard Worker	pcmpgtd	xmm5,xmm4
34*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm3,8
35*8fb009dcSAndroid Build Coastguard Worker	por	xmm2,xmm3
36*8fb009dcSAndroid Build Coastguard Worker	pand	xmm5,[16+ecx]
37*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm2,xmm5
38*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm0,xmm2
39*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm1,xmm0
40*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm3,xmm0,78
41*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm4,xmm2,78
42*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
43*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm2
44*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,194,0
45*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,202,17
46*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,220,0
47*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm3,xmm0
48*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm3,xmm1
49*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm3
50*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm3,8
51*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm4,8
52*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm3
53*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
54*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
55*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
56*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,5
57*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
58*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,1
59*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
60*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,57
61*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
62*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm0,8
63*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm3,8
64*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
65*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm3
66*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
67*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
68*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm4
69*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm0
70*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,5
71*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
72*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
73*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm1
74*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm3,xmm2,78
75*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm4,xmm0,78
76*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm2
77*8fb009dcSAndroid Build Coastguard Worker	movdqu	[edx],xmm2
78*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm0
79*8fb009dcSAndroid Build Coastguard Worker	movdqu	[16+edx],xmm0
80*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,15,227,8
81*8fb009dcSAndroid Build Coastguard Worker	movdqu	[32+edx],xmm4
82*8fb009dcSAndroid Build Coastguard Worker	ret
83*8fb009dcSAndroid Build Coastguard Workerglobal	_gcm_gmult_clmul
84*8fb009dcSAndroid Build Coastguard Workeralign	16
85*8fb009dcSAndroid Build Coastguard Worker_gcm_gmult_clmul:
86*8fb009dcSAndroid Build Coastguard WorkerL$_gcm_gmult_clmul_begin:
87*8fb009dcSAndroid Build Coastguard Worker	mov	eax,DWORD [4+esp]
88*8fb009dcSAndroid Build Coastguard Worker	mov	edx,DWORD [8+esp]
89*8fb009dcSAndroid Build Coastguard Worker	call	L$001pic
90*8fb009dcSAndroid Build Coastguard WorkerL$001pic:
91*8fb009dcSAndroid Build Coastguard Worker	pop	ecx
92*8fb009dcSAndroid Build Coastguard Worker	lea	ecx,[(L$bswap-L$001pic)+ecx]
93*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm0,[eax]
94*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm5,[ecx]
95*8fb009dcSAndroid Build Coastguard Worker	movups	xmm2,[edx]
96*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,197
97*8fb009dcSAndroid Build Coastguard Worker	movups	xmm4,[32+edx]
98*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm1,xmm0
99*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm3,xmm0,78
100*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
101*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,194,0
102*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,202,17
103*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,220,0
104*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm3,xmm0
105*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm3,xmm1
106*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm3
107*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm3,8
108*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm4,8
109*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm3
110*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
111*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
112*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
113*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,5
114*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
115*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,1
116*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
117*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,57
118*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
119*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm0,8
120*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm3,8
121*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
122*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm3
123*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
124*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
125*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm4
126*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm0
127*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,5
128*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
129*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
130*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm1
131*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,197
132*8fb009dcSAndroid Build Coastguard Worker	movdqu	[eax],xmm0
133*8fb009dcSAndroid Build Coastguard Worker	ret
134*8fb009dcSAndroid Build Coastguard Workerglobal	_gcm_ghash_clmul
135*8fb009dcSAndroid Build Coastguard Workeralign	16
136*8fb009dcSAndroid Build Coastguard Worker_gcm_ghash_clmul:
137*8fb009dcSAndroid Build Coastguard WorkerL$_gcm_ghash_clmul_begin:
138*8fb009dcSAndroid Build Coastguard Worker	push	ebp
139*8fb009dcSAndroid Build Coastguard Worker	push	ebx
140*8fb009dcSAndroid Build Coastguard Worker	push	esi
141*8fb009dcSAndroid Build Coastguard Worker	push	edi
142*8fb009dcSAndroid Build Coastguard Worker	mov	eax,DWORD [20+esp]
143*8fb009dcSAndroid Build Coastguard Worker	mov	edx,DWORD [24+esp]
144*8fb009dcSAndroid Build Coastguard Worker	mov	esi,DWORD [28+esp]
145*8fb009dcSAndroid Build Coastguard Worker	mov	ebx,DWORD [32+esp]
146*8fb009dcSAndroid Build Coastguard Worker	call	L$002pic
147*8fb009dcSAndroid Build Coastguard WorkerL$002pic:
148*8fb009dcSAndroid Build Coastguard Worker	pop	ecx
149*8fb009dcSAndroid Build Coastguard Worker	lea	ecx,[(L$bswap-L$002pic)+ecx]
150*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm0,[eax]
151*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm5,[ecx]
152*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm2,[edx]
153*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,197
154*8fb009dcSAndroid Build Coastguard Worker	sub	ebx,16
155*8fb009dcSAndroid Build Coastguard Worker	jz	NEAR L$003odd_tail
156*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm3,[esi]
157*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm6,[16+esi]
158*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,221
159*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,245
160*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm5,[32+edx]
161*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
162*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm3,xmm6,78
163*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm7,xmm6
164*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm6
165*8fb009dcSAndroid Build Coastguard Worker	lea	esi,[32+esi]
166*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,242,0
167*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,250,17
168*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,221,0
169*8fb009dcSAndroid Build Coastguard Worker	movups	xmm2,[16+edx]
170*8fb009dcSAndroid Build Coastguard Worker	nop
171*8fb009dcSAndroid Build Coastguard Worker	sub	ebx,32
172*8fb009dcSAndroid Build Coastguard Worker	jbe	NEAR L$004even_tail
173*8fb009dcSAndroid Build Coastguard Worker	jmp	NEAR L$005mod_loop
174*8fb009dcSAndroid Build Coastguard Workeralign	32
175*8fb009dcSAndroid Build Coastguard WorkerL$005mod_loop:
176*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm4,xmm0,78
177*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm1,xmm0
178*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm0
179*8fb009dcSAndroid Build Coastguard Worker	nop
180*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,194,0
181*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,202,17
182*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,229,16
183*8fb009dcSAndroid Build Coastguard Worker	movups	xmm2,[edx]
184*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm0,xmm6
185*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm5,[ecx]
186*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm1,xmm7
187*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm7,[esi]
188*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
189*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm6,[16+esi]
190*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm1
191*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,253
192*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm3
193*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm4
194*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm4,8
195*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm3,8
196*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm4
197*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
198*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,245
199*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm7
200*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm7,xmm6
201*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
202*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
203*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,5
204*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
205*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,1
206*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
207*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,242,0
208*8fb009dcSAndroid Build Coastguard Worker	movups	xmm5,[32+edx]
209*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,57
210*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
211*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm0,8
212*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm3,8
213*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
214*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm3
215*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm3,xmm7,78
216*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
217*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
218*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm7
219*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm4
220*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,250,17
221*8fb009dcSAndroid Build Coastguard Worker	movups	xmm2,[16+edx]
222*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm0
223*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,5
224*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
225*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
226*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm1
227*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,221,0
228*8fb009dcSAndroid Build Coastguard Worker	lea	esi,[32+esi]
229*8fb009dcSAndroid Build Coastguard Worker	sub	ebx,32
230*8fb009dcSAndroid Build Coastguard Worker	ja	NEAR L$005mod_loop
231*8fb009dcSAndroid Build Coastguard WorkerL$004even_tail:
232*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm4,xmm0,78
233*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm1,xmm0
234*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm0
235*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,194,0
236*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,202,17
237*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,229,16
238*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm5,[ecx]
239*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm0,xmm6
240*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm1,xmm7
241*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
242*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm1
243*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm3
244*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm4
245*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm4,8
246*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm3,8
247*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm4
248*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
249*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
250*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
251*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,5
252*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
253*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,1
254*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
255*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,57
256*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
257*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm0,8
258*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm3,8
259*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
260*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm3
261*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
262*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
263*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm4
264*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm0
265*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,5
266*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
267*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
268*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm1
269*8fb009dcSAndroid Build Coastguard Worker	test	ebx,ebx
270*8fb009dcSAndroid Build Coastguard Worker	jnz	NEAR L$006done
271*8fb009dcSAndroid Build Coastguard Worker	movups	xmm2,[edx]
272*8fb009dcSAndroid Build Coastguard WorkerL$003odd_tail:
273*8fb009dcSAndroid Build Coastguard Worker	movdqu	xmm3,[esi]
274*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,221
275*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
276*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm1,xmm0
277*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm3,xmm0,78
278*8fb009dcSAndroid Build Coastguard Worker	pshufd	xmm4,xmm2,78
279*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
280*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm2
281*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,194,0
282*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,202,17
283*8fb009dcSAndroid Build Coastguard Workerdb	102,15,58,68,220,0
284*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm3,xmm0
285*8fb009dcSAndroid Build Coastguard Worker	xorps	xmm3,xmm1
286*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm3
287*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm3,8
288*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm4,8
289*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm3
290*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
291*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
292*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
293*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,5
294*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm3,xmm0
295*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,1
296*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm3
297*8fb009dcSAndroid Build Coastguard Worker	psllq	xmm0,57
298*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm3,xmm0
299*8fb009dcSAndroid Build Coastguard Worker	pslldq	xmm0,8
300*8fb009dcSAndroid Build Coastguard Worker	psrldq	xmm3,8
301*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
302*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm3
303*8fb009dcSAndroid Build Coastguard Worker	movdqa	xmm4,xmm0
304*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
305*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm1,xmm4
306*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm4,xmm0
307*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,5
308*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm4
309*8fb009dcSAndroid Build Coastguard Worker	psrlq	xmm0,1
310*8fb009dcSAndroid Build Coastguard Worker	pxor	xmm0,xmm1
311*8fb009dcSAndroid Build Coastguard WorkerL$006done:
312*8fb009dcSAndroid Build Coastguard Workerdb	102,15,56,0,197
313*8fb009dcSAndroid Build Coastguard Worker	movdqu	[eax],xmm0
314*8fb009dcSAndroid Build Coastguard Worker	pop	edi
315*8fb009dcSAndroid Build Coastguard Worker	pop	esi
316*8fb009dcSAndroid Build Coastguard Worker	pop	ebx
317*8fb009dcSAndroid Build Coastguard Worker	pop	ebp
318*8fb009dcSAndroid Build Coastguard Worker	ret
319*8fb009dcSAndroid Build Coastguard Workeralign	64
320*8fb009dcSAndroid Build Coastguard WorkerL$bswap:
321*8fb009dcSAndroid Build Coastguard Workerdb	15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
322*8fb009dcSAndroid Build Coastguard Workerdb	1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194
323*8fb009dcSAndroid Build Coastguard Workerdb	71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
324*8fb009dcSAndroid Build Coastguard Workerdb	82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
325*8fb009dcSAndroid Build Coastguard Workerdb	112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62
326*8fb009dcSAndroid Build Coastguard Workerdb	0
327*8fb009dcSAndroid Build Coastguard Worker%else
328*8fb009dcSAndroid Build Coastguard Worker; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
329*8fb009dcSAndroid Build Coastguard Workerret
330*8fb009dcSAndroid Build Coastguard Worker%endif
331