xref: /aosp_15_r20/bionic/libc/arch-x86/string/sse2-memset-slm.S (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker/*
2*8d67ca89SAndroid Build Coastguard WorkerCopyright (c) 2014, Intel Corporation
3*8d67ca89SAndroid Build Coastguard WorkerAll rights reserved.
4*8d67ca89SAndroid Build Coastguard Worker
5*8d67ca89SAndroid Build Coastguard WorkerRedistribution and use in source and binary forms, with or without
6*8d67ca89SAndroid Build Coastguard Workermodification, are permitted provided that the following conditions are met:
7*8d67ca89SAndroid Build Coastguard Worker
8*8d67ca89SAndroid Build Coastguard Worker    * Redistributions of source code must retain the above copyright notice,
9*8d67ca89SAndroid Build Coastguard Worker    * this list of conditions and the following disclaimer.
10*8d67ca89SAndroid Build Coastguard Worker
11*8d67ca89SAndroid Build Coastguard Worker    * Redistributions in binary form must reproduce the above copyright notice,
12*8d67ca89SAndroid Build Coastguard Worker    * this list of conditions and the following disclaimer in the documentation
13*8d67ca89SAndroid Build Coastguard Worker    * and/or other materials provided with the distribution.
14*8d67ca89SAndroid Build Coastguard Worker
15*8d67ca89SAndroid Build Coastguard Worker    * Neither the name of Intel Corporation nor the names of its contributors
16*8d67ca89SAndroid Build Coastguard Worker    * may be used to endorse or promote products derived from this software
17*8d67ca89SAndroid Build Coastguard Worker    * without specific prior written permission.
18*8d67ca89SAndroid Build Coastguard Worker
19*8d67ca89SAndroid Build Coastguard WorkerTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20*8d67ca89SAndroid Build Coastguard WorkerANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21*8d67ca89SAndroid Build Coastguard WorkerWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22*8d67ca89SAndroid Build Coastguard WorkerDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
23*8d67ca89SAndroid Build Coastguard WorkerANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24*8d67ca89SAndroid Build Coastguard Worker(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25*8d67ca89SAndroid Build Coastguard WorkerLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26*8d67ca89SAndroid Build Coastguard WorkerANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27*8d67ca89SAndroid Build Coastguard Worker(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28*8d67ca89SAndroid Build Coastguard WorkerSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29*8d67ca89SAndroid Build Coastguard Worker*/
30*8d67ca89SAndroid Build Coastguard Worker
31*8d67ca89SAndroid Build Coastguard Worker#include <private/bionic_asm.h>
32*8d67ca89SAndroid Build Coastguard Worker
33*8d67ca89SAndroid Build Coastguard Worker#define FOR_SILVERMONT
34*8d67ca89SAndroid Build Coastguard Worker
35*8d67ca89SAndroid Build Coastguard Worker#ifndef L
36*8d67ca89SAndroid Build Coastguard Worker# define L(label)	.L##label
37*8d67ca89SAndroid Build Coastguard Worker#endif
38*8d67ca89SAndroid Build Coastguard Worker
39*8d67ca89SAndroid Build Coastguard Worker#ifndef ALIGN
40*8d67ca89SAndroid Build Coastguard Worker# define ALIGN(n)	.p2align n
41*8d67ca89SAndroid Build Coastguard Worker#endif
42*8d67ca89SAndroid Build Coastguard Worker
43*8d67ca89SAndroid Build Coastguard Worker#define CFI_PUSH(REG)						\
44*8d67ca89SAndroid Build Coastguard Worker  .cfi_adjust_cfa_offset 4;					\
45*8d67ca89SAndroid Build Coastguard Worker  .cfi_rel_offset REG, 0
46*8d67ca89SAndroid Build Coastguard Worker
47*8d67ca89SAndroid Build Coastguard Worker#define CFI_POP(REG)						\
48*8d67ca89SAndroid Build Coastguard Worker  .cfi_adjust_cfa_offset -4;					\
49*8d67ca89SAndroid Build Coastguard Worker  .cfi_restore REG
50*8d67ca89SAndroid Build Coastguard Worker
51*8d67ca89SAndroid Build Coastguard Worker#define PUSH(REG)	pushl REG; CFI_PUSH(REG)
52*8d67ca89SAndroid Build Coastguard Worker#define POP(REG)	popl REG; CFI_POP(REG)
53*8d67ca89SAndroid Build Coastguard Worker
54*8d67ca89SAndroid Build Coastguard Worker#define PARMS 8 /* Preserve EBX. */
55*8d67ca89SAndroid Build Coastguard Worker#define DST PARMS
56*8d67ca89SAndroid Build Coastguard Worker#define CHR (DST+4)
57*8d67ca89SAndroid Build Coastguard Worker#define LEN (CHR+4)
58*8d67ca89SAndroid Build Coastguard Worker#define CHK_DST_LEN (LEN+4)
59*8d67ca89SAndroid Build Coastguard Worker#define SETRTNVAL	movl DST(%esp), %eax
60*8d67ca89SAndroid Build Coastguard Worker
61*8d67ca89SAndroid Build Coastguard Worker# define ENTRANCE	PUSH(%ebx);
62*8d67ca89SAndroid Build Coastguard Worker# define RETURN_END	POP(%ebx); ret
63*8d67ca89SAndroid Build Coastguard Worker# define RETURN		RETURN_END; CFI_PUSH(%ebx)
64*8d67ca89SAndroid Build Coastguard Worker# define JMPTBL(I, B)	I - B
65*8d67ca89SAndroid Build Coastguard Worker
66*8d67ca89SAndroid Build Coastguard Worker#define SETUP_PIC_REG(x)	call	__x86.get_pc_thunk.x
67*8d67ca89SAndroid Build Coastguard Worker
68*8d67ca89SAndroid Build Coastguard Worker/* Load an entry in a jump table into EBX and branch to it.  TABLE is a
69*8d67ca89SAndroid Build Coastguard Worker   jump table with relative offsets.   */
70*8d67ca89SAndroid Build Coastguard Worker# define BRANCH_TO_JMPTBL_ENTRY(TABLE)				\
71*8d67ca89SAndroid Build Coastguard Worker    /* We first load PC into EBX.  */				\
72*8d67ca89SAndroid Build Coastguard Worker    call	__x86.get_pc_thunk.bx;				\
73*8d67ca89SAndroid Build Coastguard Worker    /* Get the address of the jump table.  */			\
74*8d67ca89SAndroid Build Coastguard Worker    add		$(TABLE - .), %ebx;				\
75*8d67ca89SAndroid Build Coastguard Worker    /* Get the entry and convert the relative offset to the	\
76*8d67ca89SAndroid Build Coastguard Worker       absolute address.  */					\
77*8d67ca89SAndroid Build Coastguard Worker    add		(%ebx,%ecx,4), %ebx;				\
78*8d67ca89SAndroid Build Coastguard Worker    add		%ecx, %edx;					\
79*8d67ca89SAndroid Build Coastguard Worker    /* We loaded the jump table and adjusted EDX. Go.  */	\
80*8d67ca89SAndroid Build Coastguard Worker    jmp		*%ebx
81*8d67ca89SAndroid Build Coastguard Worker
82*8d67ca89SAndroid Build Coastguard WorkerENTRY(__memset_chk)
83*8d67ca89SAndroid Build Coastguard Worker  ENTRANCE
84*8d67ca89SAndroid Build Coastguard Worker
85*8d67ca89SAndroid Build Coastguard Worker  movl LEN(%esp), %ecx
86*8d67ca89SAndroid Build Coastguard Worker  cmpl CHK_DST_LEN(%esp), %ecx
87*8d67ca89SAndroid Build Coastguard Worker  jna L(memset_length_loaded)
88*8d67ca89SAndroid Build Coastguard Worker
89*8d67ca89SAndroid Build Coastguard Worker  POP(%ebx) // Undo ENTRANCE without returning.
90*8d67ca89SAndroid Build Coastguard Worker  jmp __memset_chk_fail
91*8d67ca89SAndroid Build Coastguard WorkerEND(__memset_chk)
92*8d67ca89SAndroid Build Coastguard Worker
93*8d67ca89SAndroid Build Coastguard Worker	.section .text.sse2,"ax",@progbits
94*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
95*8d67ca89SAndroid Build Coastguard WorkerENTRY(memset)
96*8d67ca89SAndroid Build Coastguard Worker	ENTRANCE
97*8d67ca89SAndroid Build Coastguard Worker
98*8d67ca89SAndroid Build Coastguard Worker	movl	LEN(%esp), %ecx
99*8d67ca89SAndroid Build Coastguard WorkerL(memset_length_loaded):
100*8d67ca89SAndroid Build Coastguard Worker	cmp	$0, %ecx
101*8d67ca89SAndroid Build Coastguard Worker	ja	L(1byteormore)
102*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
103*8d67ca89SAndroid Build Coastguard Worker	RETURN
104*8d67ca89SAndroid Build Coastguard Worker
105*8d67ca89SAndroid Build Coastguard WorkerL(1byteormore):
106*8d67ca89SAndroid Build Coastguard Worker	movzbl	CHR(%esp), %eax
107*8d67ca89SAndroid Build Coastguard Worker	movb	%al, %ah
108*8d67ca89SAndroid Build Coastguard Worker	/* Fill the whole EAX with pattern.  */
109*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, %edx
110*8d67ca89SAndroid Build Coastguard Worker	shl	 $16, %eax
111*8d67ca89SAndroid Build Coastguard Worker	or	%edx, %eax
112*8d67ca89SAndroid Build Coastguard Worker	movl	DST(%esp), %edx
113*8d67ca89SAndroid Build Coastguard Worker	cmp	$1, %ecx
114*8d67ca89SAndroid Build Coastguard Worker	je	L(1byte)
115*8d67ca89SAndroid Build Coastguard Worker	cmp	$16, %ecx
116*8d67ca89SAndroid Build Coastguard Worker	jae	L(16bytesormore)
117*8d67ca89SAndroid Build Coastguard Worker
118*8d67ca89SAndroid Build Coastguard Worker	cmp	$4, %ecx
119*8d67ca89SAndroid Build Coastguard Worker	jb	L(4bytesless)
120*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, (%edx)
121*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -4(%edx, %ecx)
122*8d67ca89SAndroid Build Coastguard Worker	cmp	$8, %ecx
123*8d67ca89SAndroid Build Coastguard Worker	jb	L(8bytesless)
124*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, 4(%edx)
125*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -8(%edx, %ecx)
126*8d67ca89SAndroid Build Coastguard WorkerL(8bytesless):
127*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
128*8d67ca89SAndroid Build Coastguard Worker	RETURN
129*8d67ca89SAndroid Build Coastguard Worker
130*8d67ca89SAndroid Build Coastguard WorkerL(4bytesless):
131*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, (%edx)
132*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -2(%edx, %ecx)
133*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
134*8d67ca89SAndroid Build Coastguard Worker	RETURN
135*8d67ca89SAndroid Build Coastguard Worker
136*8d67ca89SAndroid Build Coastguard WorkerL(1byte):
137*8d67ca89SAndroid Build Coastguard Worker	movb	%al, (%edx)
138*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
139*8d67ca89SAndroid Build Coastguard Worker	RETURN
140*8d67ca89SAndroid Build Coastguard Worker
141*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
142*8d67ca89SAndroid Build Coastguard WorkerL(16bytesormore):
143*8d67ca89SAndroid Build Coastguard Worker	movd	%eax, %xmm0
144*8d67ca89SAndroid Build Coastguard Worker	pshufd	$0, %xmm0, %xmm0
145*8d67ca89SAndroid Build Coastguard Worker
146*8d67ca89SAndroid Build Coastguard Worker	cmp	$64, %ecx
147*8d67ca89SAndroid Build Coastguard Worker	ja	L(64bytesmore)
148*8d67ca89SAndroid Build Coastguard Worker	movdqu	%xmm0, (%edx)
149*8d67ca89SAndroid Build Coastguard Worker	movdqu	%xmm0, -16(%edx, %ecx)
150*8d67ca89SAndroid Build Coastguard Worker	cmp	$32, %ecx
151*8d67ca89SAndroid Build Coastguard Worker	jbe	L(32bytesless)
152*8d67ca89SAndroid Build Coastguard Worker	movdqu	%xmm0, 16(%edx)
153*8d67ca89SAndroid Build Coastguard Worker	movdqu	%xmm0, -32(%edx, %ecx)
154*8d67ca89SAndroid Build Coastguard WorkerL(32bytesless):
155*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
156*8d67ca89SAndroid Build Coastguard Worker	RETURN
157*8d67ca89SAndroid Build Coastguard Worker
158*8d67ca89SAndroid Build Coastguard WorkerL(64bytesmore):
159*8d67ca89SAndroid Build Coastguard Worker	testl	$0xf, %edx
160*8d67ca89SAndroid Build Coastguard Worker	jz	L(aligned_16)
161*8d67ca89SAndroid Build Coastguard WorkerL(not_aligned_16):
162*8d67ca89SAndroid Build Coastguard Worker	movdqu	%xmm0, (%edx)
163*8d67ca89SAndroid Build Coastguard Worker	movl	%edx, %eax
164*8d67ca89SAndroid Build Coastguard Worker	and	$-16, %edx
165*8d67ca89SAndroid Build Coastguard Worker	add	$16, %edx
166*8d67ca89SAndroid Build Coastguard Worker	sub	%edx, %eax
167*8d67ca89SAndroid Build Coastguard Worker	add	%eax, %ecx
168*8d67ca89SAndroid Build Coastguard Worker	movd	%xmm0, %eax
169*8d67ca89SAndroid Build Coastguard Worker
170*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
171*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16):
172*8d67ca89SAndroid Build Coastguard Worker	cmp	$128, %ecx
173*8d67ca89SAndroid Build Coastguard Worker	jae	L(128bytesormore)
174*8d67ca89SAndroid Build Coastguard Worker
175*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_less128bytes):
176*8d67ca89SAndroid Build Coastguard Worker	BRANCH_TO_JMPTBL_ENTRY(L(table_16_128bytes))
177*8d67ca89SAndroid Build Coastguard Worker
178*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
179*8d67ca89SAndroid Build Coastguard WorkerL(128bytesormore):
180*8d67ca89SAndroid Build Coastguard Worker	PUSH(%ebx)
181*8d67ca89SAndroid Build Coastguard Worker	SETUP_PIC_REG(bx)
182*8d67ca89SAndroid Build Coastguard Worker	add	$_GLOBAL_OFFSET_TABLE_, %ebx
183*8d67ca89SAndroid Build Coastguard Worker	mov	__x86_shared_cache_size@GOTOFF(%ebx), %ebx
184*8d67ca89SAndroid Build Coastguard Worker	cmp	%ebx, %ecx
185*8d67ca89SAndroid Build Coastguard Worker	jae	L(128bytesormore_nt_start)
186*8d67ca89SAndroid Build Coastguard Worker
187*8d67ca89SAndroid Build Coastguard Worker	POP(%ebx)
188*8d67ca89SAndroid Build Coastguard Worker
189*8d67ca89SAndroid Build Coastguard Worker	PUSH(%ebx)
190*8d67ca89SAndroid Build Coastguard Worker	SETUP_PIC_REG(bx)
191*8d67ca89SAndroid Build Coastguard Worker	add	$_GLOBAL_OFFSET_TABLE_, %ebx
192*8d67ca89SAndroid Build Coastguard Worker	mov	__x86_data_cache_size@GOTOFF(%ebx), %ebx
193*8d67ca89SAndroid Build Coastguard Worker
194*8d67ca89SAndroid Build Coastguard Worker	cmp	%ebx, %ecx
195*8d67ca89SAndroid Build Coastguard Worker	jae	L(128bytes_L2_normal)
196*8d67ca89SAndroid Build Coastguard Worker	subl	$128, %ecx
197*8d67ca89SAndroid Build Coastguard WorkerL(128bytesormore_normal):
198*8d67ca89SAndroid Build Coastguard Worker	sub	$128, %ecx
199*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, (%edx)
200*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x10(%edx)
201*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x20(%edx)
202*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x30(%edx)
203*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x40(%edx)
204*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x50(%edx)
205*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x60(%edx)
206*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x70(%edx)
207*8d67ca89SAndroid Build Coastguard Worker	lea	128(%edx), %edx
208*8d67ca89SAndroid Build Coastguard Worker	jb	L(128bytesless_normal)
209*8d67ca89SAndroid Build Coastguard Worker
210*8d67ca89SAndroid Build Coastguard Worker
211*8d67ca89SAndroid Build Coastguard Worker	sub	$128, %ecx
212*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, (%edx)
213*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x10(%edx)
214*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x20(%edx)
215*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x30(%edx)
216*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x40(%edx)
217*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x50(%edx)
218*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x60(%edx)
219*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x70(%edx)
220*8d67ca89SAndroid Build Coastguard Worker	lea	128(%edx), %edx
221*8d67ca89SAndroid Build Coastguard Worker	jae	L(128bytesormore_normal)
222*8d67ca89SAndroid Build Coastguard Worker
223*8d67ca89SAndroid Build Coastguard WorkerL(128bytesless_normal):
224*8d67ca89SAndroid Build Coastguard Worker	lea	128(%ecx), %ecx
225*8d67ca89SAndroid Build Coastguard Worker	POP(%ebx)
226*8d67ca89SAndroid Build Coastguard Worker	BRANCH_TO_JMPTBL_ENTRY(L(table_16_128bytes))
227*8d67ca89SAndroid Build Coastguard Worker
228*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
229*8d67ca89SAndroid Build Coastguard WorkerL(128bytes_L2_normal):
230*8d67ca89SAndroid Build Coastguard Worker	prefetchnta	0x380(%edx)
231*8d67ca89SAndroid Build Coastguard Worker	prefetchnta	0x3c0(%edx)
232*8d67ca89SAndroid Build Coastguard Worker	sub	$128, %ecx
233*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, (%edx)
234*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x10(%edx)
235*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x20(%edx)
236*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x30(%edx)
237*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x40(%edx)
238*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x50(%edx)
239*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x60(%edx)
240*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x70(%edx)
241*8d67ca89SAndroid Build Coastguard Worker	add	$128, %edx
242*8d67ca89SAndroid Build Coastguard Worker	cmp	$128, %ecx
243*8d67ca89SAndroid Build Coastguard Worker	jae	L(128bytes_L2_normal)
244*8d67ca89SAndroid Build Coastguard Worker
245*8d67ca89SAndroid Build Coastguard WorkerL(128bytesless_L2_normal):
246*8d67ca89SAndroid Build Coastguard Worker	POP(%ebx)
247*8d67ca89SAndroid Build Coastguard Worker	BRANCH_TO_JMPTBL_ENTRY(L(table_16_128bytes))
248*8d67ca89SAndroid Build Coastguard Worker
249*8d67ca89SAndroid Build Coastguard WorkerL(128bytesormore_nt_start):
250*8d67ca89SAndroid Build Coastguard Worker	sub	%ebx, %ecx
251*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
252*8d67ca89SAndroid Build Coastguard WorkerL(128bytesormore_shared_cache_loop):
253*8d67ca89SAndroid Build Coastguard Worker	prefetchnta	0x3c0(%edx)
254*8d67ca89SAndroid Build Coastguard Worker	prefetchnta	0x380(%edx)
255*8d67ca89SAndroid Build Coastguard Worker	sub	$0x80, %ebx
256*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, (%edx)
257*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x10(%edx)
258*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x20(%edx)
259*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x30(%edx)
260*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x40(%edx)
261*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x50(%edx)
262*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x60(%edx)
263*8d67ca89SAndroid Build Coastguard Worker	movaps	%xmm0, 0x70(%edx)
264*8d67ca89SAndroid Build Coastguard Worker	add	$0x80, %edx
265*8d67ca89SAndroid Build Coastguard Worker	cmp	$0x80, %ebx
266*8d67ca89SAndroid Build Coastguard Worker	jae	L(128bytesormore_shared_cache_loop)
267*8d67ca89SAndroid Build Coastguard Worker	cmp	$0x80, %ecx
268*8d67ca89SAndroid Build Coastguard Worker	jb	L(shared_cache_loop_end)
269*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
270*8d67ca89SAndroid Build Coastguard WorkerL(128bytesormore_nt):
271*8d67ca89SAndroid Build Coastguard Worker	sub	$0x80, %ecx
272*8d67ca89SAndroid Build Coastguard Worker	movntdq	%xmm0, (%edx)
273*8d67ca89SAndroid Build Coastguard Worker	movntdq	%xmm0, 0x10(%edx)
274*8d67ca89SAndroid Build Coastguard Worker	movntdq	%xmm0, 0x20(%edx)
275*8d67ca89SAndroid Build Coastguard Worker	movntdq	%xmm0, 0x30(%edx)
276*8d67ca89SAndroid Build Coastguard Worker	movntdq	%xmm0, 0x40(%edx)
277*8d67ca89SAndroid Build Coastguard Worker	movntdq	%xmm0, 0x50(%edx)
278*8d67ca89SAndroid Build Coastguard Worker	movntdq	%xmm0, 0x60(%edx)
279*8d67ca89SAndroid Build Coastguard Worker	movntdq	%xmm0, 0x70(%edx)
280*8d67ca89SAndroid Build Coastguard Worker	add	$0x80, %edx
281*8d67ca89SAndroid Build Coastguard Worker	cmp	$0x80, %ecx
282*8d67ca89SAndroid Build Coastguard Worker	jae	L(128bytesormore_nt)
283*8d67ca89SAndroid Build Coastguard Worker	sfence
284*8d67ca89SAndroid Build Coastguard WorkerL(shared_cache_loop_end):
285*8d67ca89SAndroid Build Coastguard Worker	POP(%ebx)
286*8d67ca89SAndroid Build Coastguard Worker	BRANCH_TO_JMPTBL_ENTRY(L(table_16_128bytes))
287*8d67ca89SAndroid Build Coastguard Worker
288*8d67ca89SAndroid Build Coastguard Worker
289*8d67ca89SAndroid Build Coastguard Worker	.pushsection .rodata.sse2,"a",@progbits
290*8d67ca89SAndroid Build Coastguard Worker	ALIGN(2)
291*8d67ca89SAndroid Build Coastguard WorkerL(table_16_128bytes):
292*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_0bytes), L(table_16_128bytes))
293*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_1bytes), L(table_16_128bytes))
294*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_2bytes), L(table_16_128bytes))
295*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_3bytes), L(table_16_128bytes))
296*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_4bytes), L(table_16_128bytes))
297*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_5bytes), L(table_16_128bytes))
298*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_6bytes), L(table_16_128bytes))
299*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_7bytes), L(table_16_128bytes))
300*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_8bytes), L(table_16_128bytes))
301*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_9bytes), L(table_16_128bytes))
302*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_10bytes), L(table_16_128bytes))
303*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_11bytes), L(table_16_128bytes))
304*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_12bytes), L(table_16_128bytes))
305*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_13bytes), L(table_16_128bytes))
306*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_14bytes), L(table_16_128bytes))
307*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_15bytes), L(table_16_128bytes))
308*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_16bytes), L(table_16_128bytes))
309*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_17bytes), L(table_16_128bytes))
310*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_18bytes), L(table_16_128bytes))
311*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_19bytes), L(table_16_128bytes))
312*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_20bytes), L(table_16_128bytes))
313*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_21bytes), L(table_16_128bytes))
314*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_22bytes), L(table_16_128bytes))
315*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_23bytes), L(table_16_128bytes))
316*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_24bytes), L(table_16_128bytes))
317*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_25bytes), L(table_16_128bytes))
318*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_26bytes), L(table_16_128bytes))
319*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_27bytes), L(table_16_128bytes))
320*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_28bytes), L(table_16_128bytes))
321*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_29bytes), L(table_16_128bytes))
322*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_30bytes), L(table_16_128bytes))
323*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_31bytes), L(table_16_128bytes))
324*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_32bytes), L(table_16_128bytes))
325*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_33bytes), L(table_16_128bytes))
326*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_34bytes), L(table_16_128bytes))
327*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_35bytes), L(table_16_128bytes))
328*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_36bytes), L(table_16_128bytes))
329*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_37bytes), L(table_16_128bytes))
330*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_38bytes), L(table_16_128bytes))
331*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_39bytes), L(table_16_128bytes))
332*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_40bytes), L(table_16_128bytes))
333*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_41bytes), L(table_16_128bytes))
334*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_42bytes), L(table_16_128bytes))
335*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_43bytes), L(table_16_128bytes))
336*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_44bytes), L(table_16_128bytes))
337*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_45bytes), L(table_16_128bytes))
338*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_46bytes), L(table_16_128bytes))
339*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_47bytes), L(table_16_128bytes))
340*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_48bytes), L(table_16_128bytes))
341*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_49bytes), L(table_16_128bytes))
342*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_50bytes), L(table_16_128bytes))
343*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_51bytes), L(table_16_128bytes))
344*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_52bytes), L(table_16_128bytes))
345*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_53bytes), L(table_16_128bytes))
346*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_54bytes), L(table_16_128bytes))
347*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_55bytes), L(table_16_128bytes))
348*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_56bytes), L(table_16_128bytes))
349*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_57bytes), L(table_16_128bytes))
350*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_58bytes), L(table_16_128bytes))
351*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_59bytes), L(table_16_128bytes))
352*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_60bytes), L(table_16_128bytes))
353*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_61bytes), L(table_16_128bytes))
354*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_62bytes), L(table_16_128bytes))
355*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_63bytes), L(table_16_128bytes))
356*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_64bytes), L(table_16_128bytes))
357*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_65bytes), L(table_16_128bytes))
358*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_66bytes), L(table_16_128bytes))
359*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_67bytes), L(table_16_128bytes))
360*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_68bytes), L(table_16_128bytes))
361*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_69bytes), L(table_16_128bytes))
362*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_70bytes), L(table_16_128bytes))
363*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_71bytes), L(table_16_128bytes))
364*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_72bytes), L(table_16_128bytes))
365*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_73bytes), L(table_16_128bytes))
366*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_74bytes), L(table_16_128bytes))
367*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_75bytes), L(table_16_128bytes))
368*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_76bytes), L(table_16_128bytes))
369*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_77bytes), L(table_16_128bytes))
370*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_78bytes), L(table_16_128bytes))
371*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_79bytes), L(table_16_128bytes))
372*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_80bytes), L(table_16_128bytes))
373*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_81bytes), L(table_16_128bytes))
374*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_82bytes), L(table_16_128bytes))
375*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_83bytes), L(table_16_128bytes))
376*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_84bytes), L(table_16_128bytes))
377*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_85bytes), L(table_16_128bytes))
378*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_86bytes), L(table_16_128bytes))
379*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_87bytes), L(table_16_128bytes))
380*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_88bytes), L(table_16_128bytes))
381*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_89bytes), L(table_16_128bytes))
382*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_90bytes), L(table_16_128bytes))
383*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_91bytes), L(table_16_128bytes))
384*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_92bytes), L(table_16_128bytes))
385*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_93bytes), L(table_16_128bytes))
386*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_94bytes), L(table_16_128bytes))
387*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_95bytes), L(table_16_128bytes))
388*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_96bytes), L(table_16_128bytes))
389*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_97bytes), L(table_16_128bytes))
390*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_98bytes), L(table_16_128bytes))
391*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_99bytes), L(table_16_128bytes))
392*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_100bytes), L(table_16_128bytes))
393*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_101bytes), L(table_16_128bytes))
394*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_102bytes), L(table_16_128bytes))
395*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_103bytes), L(table_16_128bytes))
396*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_104bytes), L(table_16_128bytes))
397*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_105bytes), L(table_16_128bytes))
398*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_106bytes), L(table_16_128bytes))
399*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_107bytes), L(table_16_128bytes))
400*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_108bytes), L(table_16_128bytes))
401*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_109bytes), L(table_16_128bytes))
402*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_110bytes), L(table_16_128bytes))
403*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_111bytes), L(table_16_128bytes))
404*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_112bytes), L(table_16_128bytes))
405*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_113bytes), L(table_16_128bytes))
406*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_114bytes), L(table_16_128bytes))
407*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_115bytes), L(table_16_128bytes))
408*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_116bytes), L(table_16_128bytes))
409*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_117bytes), L(table_16_128bytes))
410*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_118bytes), L(table_16_128bytes))
411*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_119bytes), L(table_16_128bytes))
412*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_120bytes), L(table_16_128bytes))
413*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_121bytes), L(table_16_128bytes))
414*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_122bytes), L(table_16_128bytes))
415*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_123bytes), L(table_16_128bytes))
416*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_124bytes), L(table_16_128bytes))
417*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_125bytes), L(table_16_128bytes))
418*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_126bytes), L(table_16_128bytes))
419*8d67ca89SAndroid Build Coastguard Worker	.int	JMPTBL(L(aligned_16_127bytes), L(table_16_128bytes))
420*8d67ca89SAndroid Build Coastguard Worker	.popsection
421*8d67ca89SAndroid Build Coastguard Worker
422*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
423*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_112bytes):
424*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -112(%edx)
425*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_96bytes):
426*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -96(%edx)
427*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_80bytes):
428*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -80(%edx)
429*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_64bytes):
430*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -64(%edx)
431*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_48bytes):
432*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -48(%edx)
433*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_32bytes):
434*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -32(%edx)
435*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_16bytes):
436*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -16(%edx)
437*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_0bytes):
438*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
439*8d67ca89SAndroid Build Coastguard Worker	RETURN
440*8d67ca89SAndroid Build Coastguard Worker
441*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
442*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_113bytes):
443*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -113(%edx)
444*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_97bytes):
445*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -97(%edx)
446*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_81bytes):
447*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -81(%edx)
448*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_65bytes):
449*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -65(%edx)
450*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_49bytes):
451*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -49(%edx)
452*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_33bytes):
453*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -33(%edx)
454*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_17bytes):
455*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -17(%edx)
456*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_1bytes):
457*8d67ca89SAndroid Build Coastguard Worker	movb	%al, -1(%edx)
458*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
459*8d67ca89SAndroid Build Coastguard Worker	RETURN
460*8d67ca89SAndroid Build Coastguard Worker
461*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
462*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_114bytes):
463*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -114(%edx)
464*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_98bytes):
465*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -98(%edx)
466*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_82bytes):
467*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -82(%edx)
468*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_66bytes):
469*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -66(%edx)
470*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_50bytes):
471*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -50(%edx)
472*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_34bytes):
473*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -34(%edx)
474*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_18bytes):
475*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -18(%edx)
476*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_2bytes):
477*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -2(%edx)
478*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
479*8d67ca89SAndroid Build Coastguard Worker	RETURN
480*8d67ca89SAndroid Build Coastguard Worker
481*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
482*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_115bytes):
483*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -115(%edx)
484*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_99bytes):
485*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -99(%edx)
486*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_83bytes):
487*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -83(%edx)
488*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_67bytes):
489*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -67(%edx)
490*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_51bytes):
491*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -51(%edx)
492*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_35bytes):
493*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -35(%edx)
494*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_19bytes):
495*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -19(%edx)
496*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_3bytes):
497*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -3(%edx)
498*8d67ca89SAndroid Build Coastguard Worker	movb	%al, -1(%edx)
499*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
500*8d67ca89SAndroid Build Coastguard Worker	RETURN
501*8d67ca89SAndroid Build Coastguard Worker
502*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
503*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_116bytes):
504*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -116(%edx)
505*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_100bytes):
506*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -100(%edx)
507*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_84bytes):
508*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -84(%edx)
509*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_68bytes):
510*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -68(%edx)
511*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_52bytes):
512*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -52(%edx)
513*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_36bytes):
514*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -36(%edx)
515*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_20bytes):
516*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -20(%edx)
517*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_4bytes):
518*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -4(%edx)
519*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
520*8d67ca89SAndroid Build Coastguard Worker	RETURN
521*8d67ca89SAndroid Build Coastguard Worker
522*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
523*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_117bytes):
524*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -117(%edx)
525*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_101bytes):
526*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -101(%edx)
527*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_85bytes):
528*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -85(%edx)
529*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_69bytes):
530*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -69(%edx)
531*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_53bytes):
532*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -53(%edx)
533*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_37bytes):
534*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -37(%edx)
535*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_21bytes):
536*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -21(%edx)
537*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_5bytes):
538*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -5(%edx)
539*8d67ca89SAndroid Build Coastguard Worker	movb	%al, -1(%edx)
540*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
541*8d67ca89SAndroid Build Coastguard Worker	RETURN
542*8d67ca89SAndroid Build Coastguard Worker
543*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
544*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_118bytes):
545*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -118(%edx)
546*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_102bytes):
547*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -102(%edx)
548*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_86bytes):
549*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -86(%edx)
550*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_70bytes):
551*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -70(%edx)
552*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_54bytes):
553*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -54(%edx)
554*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_38bytes):
555*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -38(%edx)
556*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_22bytes):
557*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -22(%edx)
558*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_6bytes):
559*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -6(%edx)
560*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -2(%edx)
561*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
562*8d67ca89SAndroid Build Coastguard Worker	RETURN
563*8d67ca89SAndroid Build Coastguard Worker
564*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
565*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_119bytes):
566*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -119(%edx)
567*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_103bytes):
568*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -103(%edx)
569*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_87bytes):
570*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -87(%edx)
571*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_71bytes):
572*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -71(%edx)
573*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_55bytes):
574*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -55(%edx)
575*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_39bytes):
576*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -39(%edx)
577*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_23bytes):
578*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -23(%edx)
579*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_7bytes):
580*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -7(%edx)
581*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -3(%edx)
582*8d67ca89SAndroid Build Coastguard Worker	movb	%al, -1(%edx)
583*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
584*8d67ca89SAndroid Build Coastguard Worker	RETURN
585*8d67ca89SAndroid Build Coastguard Worker
586*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
587*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_120bytes):
588*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -120(%edx)
589*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_104bytes):
590*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -104(%edx)
591*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_88bytes):
592*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -88(%edx)
593*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_72bytes):
594*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -72(%edx)
595*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_56bytes):
596*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -56(%edx)
597*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_40bytes):
598*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -40(%edx)
599*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_24bytes):
600*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -24(%edx)
601*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_8bytes):
602*8d67ca89SAndroid Build Coastguard Worker	movq	%xmm0, -8(%edx)
603*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
604*8d67ca89SAndroid Build Coastguard Worker	RETURN
605*8d67ca89SAndroid Build Coastguard Worker
606*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
607*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_121bytes):
608*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -121(%edx)
609*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_105bytes):
610*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -105(%edx)
611*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_89bytes):
612*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -89(%edx)
613*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_73bytes):
614*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -73(%edx)
615*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_57bytes):
616*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -57(%edx)
617*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_41bytes):
618*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -41(%edx)
619*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_25bytes):
620*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -25(%edx)
621*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_9bytes):
622*8d67ca89SAndroid Build Coastguard Worker	movq	%xmm0, -9(%edx)
623*8d67ca89SAndroid Build Coastguard Worker	movb	%al, -1(%edx)
624*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
625*8d67ca89SAndroid Build Coastguard Worker	RETURN
626*8d67ca89SAndroid Build Coastguard Worker
627*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
628*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_122bytes):
629*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -122(%edx)
630*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_106bytes):
631*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -106(%edx)
632*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_90bytes):
633*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -90(%edx)
634*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_74bytes):
635*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -74(%edx)
636*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_58bytes):
637*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -58(%edx)
638*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_42bytes):
639*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -42(%edx)
640*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_26bytes):
641*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -26(%edx)
642*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_10bytes):
643*8d67ca89SAndroid Build Coastguard Worker	movq	%xmm0, -10(%edx)
644*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -2(%edx)
645*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
646*8d67ca89SAndroid Build Coastguard Worker	RETURN
647*8d67ca89SAndroid Build Coastguard Worker
648*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
649*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_123bytes):
650*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -123(%edx)
651*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_107bytes):
652*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -107(%edx)
653*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_91bytes):
654*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -91(%edx)
655*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_75bytes):
656*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -75(%edx)
657*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_59bytes):
658*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -59(%edx)
659*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_43bytes):
660*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -43(%edx)
661*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_27bytes):
662*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -27(%edx)
663*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_11bytes):
664*8d67ca89SAndroid Build Coastguard Worker	movq	%xmm0, -11(%edx)
665*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -3(%edx)
666*8d67ca89SAndroid Build Coastguard Worker	movb	%al, -1(%edx)
667*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
668*8d67ca89SAndroid Build Coastguard Worker	RETURN
669*8d67ca89SAndroid Build Coastguard Worker
670*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
671*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_124bytes):
672*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -124(%edx)
673*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_108bytes):
674*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -108(%edx)
675*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_92bytes):
676*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -92(%edx)
677*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_76bytes):
678*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -76(%edx)
679*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_60bytes):
680*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -60(%edx)
681*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_44bytes):
682*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -44(%edx)
683*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_28bytes):
684*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -28(%edx)
685*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_12bytes):
686*8d67ca89SAndroid Build Coastguard Worker	movq	%xmm0, -12(%edx)
687*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -4(%edx)
688*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
689*8d67ca89SAndroid Build Coastguard Worker	RETURN
690*8d67ca89SAndroid Build Coastguard Worker
691*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
692*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_125bytes):
693*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -125(%edx)
694*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_109bytes):
695*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -109(%edx)
696*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_93bytes):
697*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -93(%edx)
698*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_77bytes):
699*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -77(%edx)
700*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_61bytes):
701*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -61(%edx)
702*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_45bytes):
703*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -45(%edx)
704*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_29bytes):
705*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -29(%edx)
706*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_13bytes):
707*8d67ca89SAndroid Build Coastguard Worker	movq	%xmm0, -13(%edx)
708*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -5(%edx)
709*8d67ca89SAndroid Build Coastguard Worker	movb	%al, -1(%edx)
710*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
711*8d67ca89SAndroid Build Coastguard Worker	RETURN
712*8d67ca89SAndroid Build Coastguard Worker
713*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
714*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_126bytes):
715*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -126(%edx)
716*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_110bytes):
717*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -110(%edx)
718*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_94bytes):
719*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -94(%edx)
720*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_78bytes):
721*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -78(%edx)
722*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_62bytes):
723*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -62(%edx)
724*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_46bytes):
725*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -46(%edx)
726*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_30bytes):
727*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -30(%edx)
728*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_14bytes):
729*8d67ca89SAndroid Build Coastguard Worker	movq	%xmm0, -14(%edx)
730*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -6(%edx)
731*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -2(%edx)
732*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
733*8d67ca89SAndroid Build Coastguard Worker	RETURN
734*8d67ca89SAndroid Build Coastguard Worker
735*8d67ca89SAndroid Build Coastguard Worker	ALIGN(4)
736*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_127bytes):
737*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -127(%edx)
738*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_111bytes):
739*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -111(%edx)
740*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_95bytes):
741*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -95(%edx)
742*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_79bytes):
743*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -79(%edx)
744*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_63bytes):
745*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -63(%edx)
746*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_47bytes):
747*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -47(%edx)
748*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_31bytes):
749*8d67ca89SAndroid Build Coastguard Worker	movdqa	%xmm0, -31(%edx)
750*8d67ca89SAndroid Build Coastguard WorkerL(aligned_16_15bytes):
751*8d67ca89SAndroid Build Coastguard Worker	movq	%xmm0, -15(%edx)
752*8d67ca89SAndroid Build Coastguard Worker	movl	%eax, -7(%edx)
753*8d67ca89SAndroid Build Coastguard Worker	movw	%ax, -3(%edx)
754*8d67ca89SAndroid Build Coastguard Worker	movb	%al, -1(%edx)
755*8d67ca89SAndroid Build Coastguard Worker	SETRTNVAL
756*8d67ca89SAndroid Build Coastguard Worker	RETURN_END
757*8d67ca89SAndroid Build Coastguard Worker
758*8d67ca89SAndroid Build Coastguard WorkerEND(memset)
759