18ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare/*
25a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikCopyright (c) 2014, Intel Corporation
38ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareAll rights reserved.
48ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
58ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareRedistribution and use in source and binary forms, with or without
68ff1a2759a6389bed30d7862d0beb76077032c99Bruce Bearemodification, are permitted provided that the following conditions are met:
78ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
88ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    * Redistributions of source code must retain the above copyright notice,
98ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    * this list of conditions and the following disclaimer.
108ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
118ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    * Redistributions in binary form must reproduce the above copyright notice,
128ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    * this list of conditions and the following disclaimer in the documentation
138ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    * and/or other materials provided with the distribution.
148ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
158ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    * Neither the name of Intel Corporation nor the names of its contributors
168ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    * may be used to endorse or promote products derived from this software
178ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    * without specific prior written permission.
188ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
198ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
208ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
218ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
228ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
238ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
248ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
258ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
268ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
278ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
288ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
298ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare*/
308ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
310a490665a3a287cd3aee1e7327f2381222c387c4Liubov Dmitrieva#include "cache.h"
325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik
335a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#ifndef MEMSET
345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik# define MEMSET memset
355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif
360a490665a3a287cd3aee1e7327f2381222c387c4Liubov Dmitrieva
378ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef L
388ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define L(label)	.L##label
398ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
408ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
418ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef ALIGN
428ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define ALIGN(n)	.p2align n
438ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
448ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
458ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef cfi_startproc
468ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define cfi_startproc			.cfi_startproc
478ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
488ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
498ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef cfi_endproc
508ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define cfi_endproc			.cfi_endproc
518ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
528ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
538ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef cfi_rel_offset
548ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
558ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
568ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
578ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef cfi_restore
58124a542aa4d78040176f65b28f4958540b5d89aaBruce Beare# define cfi_restore(reg)		.cfi_restore reg
598ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
608ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
618ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef cfi_adjust_cfa_offset
628ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
638ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
648ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
658ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef ENTRY
668ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define ENTRY(name)			\
675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	.type name,  @function;		\
688ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.globl name;			\
698ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.p2align 4;			\
708ff1a2759a6389bed30d7862d0beb76077032c99Bruce Bearename:					\
718ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	cfi_startproc
728ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
738ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
748ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifndef END
758ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define END(name)			\
768ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	cfi_endproc;			\
778ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.size name, .-name
788ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
798ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
808ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#define CFI_PUSH(REG)						\
818ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare  cfi_adjust_cfa_offset (4);					\
828ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare  cfi_rel_offset (REG, 0)
838ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
848ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#define CFI_POP(REG)						\
858ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare  cfi_adjust_cfa_offset (-4);					\
868ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare  cfi_restore (REG)
878ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
888ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#define PUSH(REG)	pushl REG; CFI_PUSH (REG)
898ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#define POP(REG)	popl REG; CFI_POP (REG)
908ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
918ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifdef USE_AS_BZERO
928ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define DEST		PARMS
938ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define LEN		DEST+4
948ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define SETRTNVAL
958ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#else
968ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define DEST		PARMS
978ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define CHR		DEST+4
988ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define LEN		CHR+4
998ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define SETRTNVAL	movl DEST(%esp), %eax
1008ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
1018ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1020aa8289c6fddda6502fa97c8789341f1462c4224Nick Kralevich#if (defined SHARED || defined __PIC__)
1038ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define ENTRANCE	PUSH (%ebx);
1048ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define RETURN_END	POP (%ebx); ret
1058ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define RETURN		RETURN_END; CFI_PUSH (%ebx)
1068ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define PARMS		8		/* Preserve EBX.  */
1078ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define JMPTBL(I, B)	I - B
1088ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1098ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare/* Load an entry in a jump table into EBX and branch to it.  TABLE is a
1108ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare   jump table with relative offsets.   */
1118ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define BRANCH_TO_JMPTBL_ENTRY(TABLE)				\
1128ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    /* We first load PC into EBX.  */				\
1135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik    call	__x86.get_pc_thunk.bx;				\
1148ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    /* Get the address of the jump table.  */			\
1158ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    add		$(TABLE - .), %ebx;				\
1168ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    /* Get the entry and convert the relative offset to the	\
1178ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare       absolute address.  */					\
1188ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    add		(%ebx,%ecx,4), %ebx;				\
1198ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    add		%ecx, %edx;					\
1208ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    /* We loaded the jump table and adjuested EDX. Go.  */	\
1218ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    jmp		*%ebx
1228ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1235a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	.section	.gnu.linkonce.t.__x86.get_pc_thunk.bx,"ax",@progbits
1245a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	.globl	__x86.get_pc_thunk.bx
1255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	.hidden	__x86.get_pc_thunk.bx
1268ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
1275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	.type	__x86.get_pc_thunk.bx,@function
1285a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik__x86.get_pc_thunk.bx:
1298ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	(%esp), %ebx
1308ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ret
1318ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#else
1328ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define ENTRANCE
1338ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define RETURN_END	ret
1348ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define RETURN		RETURN_END
1358ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define PARMS		4
1368ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define JMPTBL(I, B)	I
1378ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1388ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare/* Branch to an entry in a jump table.  TABLE is a jump table with
1398ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare   absolute offsets.  */
1408ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# define BRANCH_TO_JMPTBL_ENTRY(TABLE)				\
1418ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    add		%ecx, %edx;					\
1428ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare    jmp		*TABLE(,%ecx,4)
1438ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
1448ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1458ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.section .text.sse2,"ax",@progbits
1468ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
1470a490665a3a287cd3aee1e7327f2381222c387c4Liubov DmitrievaENTRY (MEMSET)
1488ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ENTRANCE
1498ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1508ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	LEN(%esp), %ecx
1515a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	cmp	$0, %ecx
1525a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	ja	L(1byteormore)
1535a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	SETRTNVAL
1545a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	RETURN
1555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik
1565a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(1byteormore):
1578ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifdef USE_AS_BZERO
1588ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	xor	%eax, %eax
1598ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#else
1608ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movzbl	CHR(%esp), %eax
1618ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, %ah
1628ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	/* Fill the whole EAX with pattern.  */
1638ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, %edx
1645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	shl	 $16, %eax
1658ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	or	%edx, %eax
1668ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
1678ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	DEST(%esp), %edx
1685a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	cmp	$1, %ecx
1695a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	je	L(1byte)
1705a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	cmp	$16, %ecx
1715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	jae	L(16bytesormore)
1725a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik
1735a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	cmp	$4, %ecx
1745a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	jb	L(4bytesless)
1755a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movl	%eax, (%edx)
1765a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movl	%eax, -4(%edx, %ecx)
1775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	cmp	$8, %ecx
1785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	jb	L(8bytesless)
1795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movl	%eax, 4(%edx)
1805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movl	%eax, -8(%edx, %ecx)
1815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(8bytesless):
1828ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
1838ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
1848ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1855a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(4bytesless):
1865a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movw	%ax, (%edx)
1875a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movw	%ax, -2(%edx, %ecx)
1888ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
1898ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
1908ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(1byte):
1925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movb	%al, (%edx)
1938ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
1948ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
1958ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
1968ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
1975a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(16bytesormore):
1988ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifdef USE_AS_BZERO
1998ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	pxor	%xmm0, %xmm0
2008ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#else
2018ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movd	%eax, %xmm0
2028ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	pshufd	$0, %xmm0, %xmm0
2038ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
2045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik
2055a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	cmp	$64, %ecx
2065a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	ja	L(64bytesmore)
2075a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movdqu	%xmm0, (%edx)
2085a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movdqu	%xmm0, -16(%edx, %ecx)
2095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	cmp	$32, %ecx
2105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	jbe	L(32bytesless)
2115a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movdqu	%xmm0, 16(%edx)
2125a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movdqu	%xmm0, -32(%edx, %ecx)
2135a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(32bytesless):
2145a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	SETRTNVAL
2155a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	RETURN
2165a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik
2175a92284167ffba6d45210ef6889fa7d255c15d4fVarvara RainchikL(64bytesmore):
2188ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	testl	$0xf, %edx
2198ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jz	L(aligned_16)
2208ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(not_aligned_16):
2218ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqu	%xmm0, (%edx)
2228ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%edx, %eax
2238ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	and	$-16, %edx
2248ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	add	$16, %edx
2258ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	sub	%edx, %eax
2268ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	add	%eax, %ecx
2278ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movd	%xmm0, %eax
2288ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
2298ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
2308ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16):
2318ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	cmp	$128, %ecx
2328ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jae	L(128bytesormore)
2338ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
2348ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_less128bytes):
2358ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	BRANCH_TO_JMPTBL_ENTRY (L(table_16_128bytes))
2368ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
2378ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
2388ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(128bytesormore):
2398ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifdef SHARED_CACHE_SIZE
2408ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	PUSH (%ebx)
2418ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	mov	$SHARED_CACHE_SIZE, %ebx
2428ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#else
2430aa8289c6fddda6502fa97c8789341f1462c4224Nick Kralevich# if (defined SHARED || defined __PIC__)
2445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	call	__x86.get_pc_thunk.bx
2458ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	add	$_GLOBAL_OFFSET_TABLE_, %ebx
2465a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	mov	$__x86_shared_cache_size@GOTOFF(%ebx), %ebx
2478ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# else
2488ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	PUSH (%ebx)
2495a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	mov	$__x86_shared_cache_size, %ebx
2508ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# endif
2518ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
2528ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	cmp	%ebx, %ecx
2538ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jae	L(128bytesormore_nt_start)
2548ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
2555a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	POP (%ebx)
2568ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
2578ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#ifdef DATA_CACHE_SIZE
2585a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	PUSH (%ebx)
2595a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	mov	$DATA_CACHE_SIZE, %ebx
2608ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#else
2610aa8289c6fddda6502fa97c8789341f1462c4224Nick Kralevich# if (defined SHARED || defined __PIC__)
2625a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	call	__x86.get_pc_thunk.bx
2638ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	add	$_GLOBAL_OFFSET_TABLE_, %ebx
2645a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	mov	$__x86_data_cache_size@GOTOFF(%ebx), %ebx
2658ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# else
2665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	PUSH (%ebx)
2675a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	mov	$__x86_data_cache_size, %ebx
2688ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare# endif
2698ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
2708ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
2715a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	cmp	%ebx, %ecx
2728ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jae	L(128bytes_L2_normal)
2738ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	subl	$128, %ecx
2748ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(128bytesormore_normal):
2758ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	sub	$128, %ecx
2768ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, (%edx)
2775a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x10(%edx)
2785a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x20(%edx)
2795a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x30(%edx)
2805a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x40(%edx)
2815a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x50(%edx)
2825a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x60(%edx)
2835a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x70(%edx)
2848ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	lea	128(%edx), %edx
2858ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jb	L(128bytesless_normal)
2868ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
2878ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
2888ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	sub	$128, %ecx
2898ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, (%edx)
2905a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x10(%edx)
2915a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x20(%edx)
2925a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x30(%edx)
2935a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x40(%edx)
2945a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x50(%edx)
2955a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x60(%edx)
2965a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x70(%edx)
2978ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	lea	128(%edx), %edx
2988ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jae	L(128bytesormore_normal)
2998ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
3008ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(128bytesless_normal):
3015a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	lea	128(%ecx), %ecx
3025a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#if defined DATA_CACHE_SIZE || !(defined SHARED || defined __PIC__)
3035a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	POP (%ebx)
3045a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif
3058ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	BRANCH_TO_JMPTBL_ENTRY (L(table_16_128bytes))
3068ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
3078ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
3088ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(128bytes_L2_normal):
3095a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	prefetchnta	0x380(%edx)
3105a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	prefetchnta	0x3c0(%edx)
3118ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	sub	$128, %ecx
3128ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, (%edx)
3138ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movaps	%xmm0, 0x10(%edx)
3148ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movaps	%xmm0, 0x20(%edx)
3158ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movaps	%xmm0, 0x30(%edx)
3168ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movaps	%xmm0, 0x40(%edx)
3178ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movaps	%xmm0, 0x50(%edx)
3188ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movaps	%xmm0, 0x60(%edx)
3198ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movaps	%xmm0, 0x70(%edx)
3208ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	add	$128, %edx
3218ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	cmp	$128, %ecx
3228ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jae	L(128bytes_L2_normal)
3238ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
3248ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(128bytesless_L2_normal):
3255a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#if defined DATA_CACHE_SIZE || !(defined SHARED || defined __PIC__)
3265a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	POP (%ebx)
3275a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#endif
3288ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	BRANCH_TO_JMPTBL_ENTRY (L(table_16_128bytes))
3298ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
3308ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(128bytesormore_nt_start):
3318ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	sub	%ebx, %ecx
3328ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
3338ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(128bytesormore_shared_cache_loop):
3345a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	prefetchnta	0x3c0(%edx)
3355a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	prefetchnta	0x380(%edx)
3368ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	sub	$0x80, %ebx
3378ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, (%edx)
3385a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x10(%edx)
3395a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x20(%edx)
3405a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x30(%edx)
3415a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x40(%edx)
3425a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x50(%edx)
3435a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x60(%edx)
3445a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik	movaps	%xmm0, 0x70(%edx)
3458ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	add	$0x80, %edx
3468ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	cmp	$0x80, %ebx
3478ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jae	L(128bytesormore_shared_cache_loop)
3488ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	cmp	$0x80, %ecx
3498ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jb	L(shared_cache_loop_end)
3508ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
3518ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(128bytesormore_nt):
3528ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	sub	$0x80, %ecx
3538ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movntdq	%xmm0, (%edx)
3548ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movntdq	%xmm0, 0x10(%edx)
3558ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movntdq	%xmm0, 0x20(%edx)
3568ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movntdq	%xmm0, 0x30(%edx)
3578ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movntdq	%xmm0, 0x40(%edx)
3588ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movntdq	%xmm0, 0x50(%edx)
3598ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movntdq	%xmm0, 0x60(%edx)
3608ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movntdq	%xmm0, 0x70(%edx)
3618ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	add	$0x80, %edx
3628ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	cmp	$0x80, %ecx
3638ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	jae	L(128bytesormore_nt)
3648ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	sfence
3658ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(shared_cache_loop_end):
3665a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik#if defined SHARED_CACHE_SIZE || !(defined SHARED || defined __PIC__)
3678ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	POP (%ebx)
3688ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare#endif
3698ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	BRANCH_TO_JMPTBL_ENTRY (L(table_16_128bytes))
3708ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
3718ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
3728ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.pushsection .rodata.sse2,"a",@progbits
3738ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (2)
3748ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(table_16_128bytes):
3758ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_0bytes), L(table_16_128bytes))
3768ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_1bytes), L(table_16_128bytes))
3778ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_2bytes), L(table_16_128bytes))
3788ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_3bytes), L(table_16_128bytes))
3798ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_4bytes), L(table_16_128bytes))
3808ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_5bytes), L(table_16_128bytes))
3818ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_6bytes), L(table_16_128bytes))
3828ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_7bytes), L(table_16_128bytes))
3838ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_8bytes), L(table_16_128bytes))
3848ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_9bytes), L(table_16_128bytes))
3858ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_10bytes), L(table_16_128bytes))
3868ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_11bytes), L(table_16_128bytes))
3878ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_12bytes), L(table_16_128bytes))
3888ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_13bytes), L(table_16_128bytes))
3898ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_14bytes), L(table_16_128bytes))
3908ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_15bytes), L(table_16_128bytes))
3918ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_16bytes), L(table_16_128bytes))
3928ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_17bytes), L(table_16_128bytes))
3938ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_18bytes), L(table_16_128bytes))
3948ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_19bytes), L(table_16_128bytes))
3958ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_20bytes), L(table_16_128bytes))
3968ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_21bytes), L(table_16_128bytes))
3978ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_22bytes), L(table_16_128bytes))
3988ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_23bytes), L(table_16_128bytes))
3998ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_24bytes), L(table_16_128bytes))
4008ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_25bytes), L(table_16_128bytes))
4018ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_26bytes), L(table_16_128bytes))
4028ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_27bytes), L(table_16_128bytes))
4038ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_28bytes), L(table_16_128bytes))
4048ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_29bytes), L(table_16_128bytes))
4058ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_30bytes), L(table_16_128bytes))
4068ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_31bytes), L(table_16_128bytes))
4078ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_32bytes), L(table_16_128bytes))
4088ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_33bytes), L(table_16_128bytes))
4098ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_34bytes), L(table_16_128bytes))
4108ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_35bytes), L(table_16_128bytes))
4118ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_36bytes), L(table_16_128bytes))
4128ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_37bytes), L(table_16_128bytes))
4138ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_38bytes), L(table_16_128bytes))
4148ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_39bytes), L(table_16_128bytes))
4158ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_40bytes), L(table_16_128bytes))
4168ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_41bytes), L(table_16_128bytes))
4178ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_42bytes), L(table_16_128bytes))
4188ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_43bytes), L(table_16_128bytes))
4198ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_44bytes), L(table_16_128bytes))
4208ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_45bytes), L(table_16_128bytes))
4218ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_46bytes), L(table_16_128bytes))
4228ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_47bytes), L(table_16_128bytes))
4238ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_48bytes), L(table_16_128bytes))
4248ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_49bytes), L(table_16_128bytes))
4258ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_50bytes), L(table_16_128bytes))
4268ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_51bytes), L(table_16_128bytes))
4278ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_52bytes), L(table_16_128bytes))
4288ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_53bytes), L(table_16_128bytes))
4298ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_54bytes), L(table_16_128bytes))
4308ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_55bytes), L(table_16_128bytes))
4318ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_56bytes), L(table_16_128bytes))
4328ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_57bytes), L(table_16_128bytes))
4338ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_58bytes), L(table_16_128bytes))
4348ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_59bytes), L(table_16_128bytes))
4358ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_60bytes), L(table_16_128bytes))
4368ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_61bytes), L(table_16_128bytes))
4378ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_62bytes), L(table_16_128bytes))
4388ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_63bytes), L(table_16_128bytes))
4398ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_64bytes), L(table_16_128bytes))
4408ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_65bytes), L(table_16_128bytes))
4418ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_66bytes), L(table_16_128bytes))
4428ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_67bytes), L(table_16_128bytes))
4438ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_68bytes), L(table_16_128bytes))
4448ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_69bytes), L(table_16_128bytes))
4458ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_70bytes), L(table_16_128bytes))
4468ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_71bytes), L(table_16_128bytes))
4478ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_72bytes), L(table_16_128bytes))
4488ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_73bytes), L(table_16_128bytes))
4498ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_74bytes), L(table_16_128bytes))
4508ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_75bytes), L(table_16_128bytes))
4518ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_76bytes), L(table_16_128bytes))
4528ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_77bytes), L(table_16_128bytes))
4538ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_78bytes), L(table_16_128bytes))
4548ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_79bytes), L(table_16_128bytes))
4558ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_80bytes), L(table_16_128bytes))
4568ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_81bytes), L(table_16_128bytes))
4578ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_82bytes), L(table_16_128bytes))
4588ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_83bytes), L(table_16_128bytes))
4598ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_84bytes), L(table_16_128bytes))
4608ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_85bytes), L(table_16_128bytes))
4618ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_86bytes), L(table_16_128bytes))
4628ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_87bytes), L(table_16_128bytes))
4638ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_88bytes), L(table_16_128bytes))
4648ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_89bytes), L(table_16_128bytes))
4658ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_90bytes), L(table_16_128bytes))
4668ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_91bytes), L(table_16_128bytes))
4678ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_92bytes), L(table_16_128bytes))
4688ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_93bytes), L(table_16_128bytes))
4698ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_94bytes), L(table_16_128bytes))
4708ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_95bytes), L(table_16_128bytes))
4718ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_96bytes), L(table_16_128bytes))
4728ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_97bytes), L(table_16_128bytes))
4738ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_98bytes), L(table_16_128bytes))
4748ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_99bytes), L(table_16_128bytes))
4758ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_100bytes), L(table_16_128bytes))
4768ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_101bytes), L(table_16_128bytes))
4778ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_102bytes), L(table_16_128bytes))
4788ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_103bytes), L(table_16_128bytes))
4798ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_104bytes), L(table_16_128bytes))
4808ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_105bytes), L(table_16_128bytes))
4818ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_106bytes), L(table_16_128bytes))
4828ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_107bytes), L(table_16_128bytes))
4838ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_108bytes), L(table_16_128bytes))
4848ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_109bytes), L(table_16_128bytes))
4858ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_110bytes), L(table_16_128bytes))
4868ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_111bytes), L(table_16_128bytes))
4878ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_112bytes), L(table_16_128bytes))
4888ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_113bytes), L(table_16_128bytes))
4898ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_114bytes), L(table_16_128bytes))
4908ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_115bytes), L(table_16_128bytes))
4918ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_116bytes), L(table_16_128bytes))
4928ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_117bytes), L(table_16_128bytes))
4938ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_118bytes), L(table_16_128bytes))
4948ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_119bytes), L(table_16_128bytes))
4958ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_120bytes), L(table_16_128bytes))
4968ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_121bytes), L(table_16_128bytes))
4978ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_122bytes), L(table_16_128bytes))
4988ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_123bytes), L(table_16_128bytes))
4998ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_124bytes), L(table_16_128bytes))
5008ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_125bytes), L(table_16_128bytes))
5018ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_126bytes), L(table_16_128bytes))
5028ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.int	JMPTBL (L(aligned_16_127bytes), L(table_16_128bytes))
5038ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	.popsection
5048ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
5058ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
5068ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_112bytes):
5078ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -112(%edx)
5088ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_96bytes):
5098ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -96(%edx)
5108ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_80bytes):
5118ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -80(%edx)
5128ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_64bytes):
5138ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -64(%edx)
5148ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_48bytes):
5158ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -48(%edx)
5168ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_32bytes):
5178ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -32(%edx)
5188ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_16bytes):
5198ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -16(%edx)
5208ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_0bytes):
5218ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
5228ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
5238ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
5248ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
5258ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_113bytes):
5268ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -113(%edx)
5278ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_97bytes):
5288ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -97(%edx)
5298ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_81bytes):
5308ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -81(%edx)
5318ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_65bytes):
5328ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -65(%edx)
5338ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_49bytes):
5348ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -49(%edx)
5358ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_33bytes):
5368ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -33(%edx)
5378ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_17bytes):
5388ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -17(%edx)
5398ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_1bytes):
5408ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, -1(%edx)
5418ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
5428ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
5438ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
5448ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
5458ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_114bytes):
5468ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -114(%edx)
5478ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_98bytes):
5488ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -98(%edx)
5498ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_82bytes):
5508ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -82(%edx)
5518ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_66bytes):
5528ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -66(%edx)
5538ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_50bytes):
5548ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -50(%edx)
5558ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_34bytes):
5568ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -34(%edx)
5578ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_18bytes):
5588ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -18(%edx)
5598ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_2bytes):
5608ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movw	%ax, -2(%edx)
5618ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
5628ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
5638ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
5648ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
5658ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_115bytes):
5668ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -115(%edx)
5678ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_99bytes):
5688ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -99(%edx)
5698ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_83bytes):
5708ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -83(%edx)
5718ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_67bytes):
5728ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -67(%edx)
5738ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_51bytes):
5748ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -51(%edx)
5758ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_35bytes):
5768ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -35(%edx)
5778ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_19bytes):
5788ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -19(%edx)
5798ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_3bytes):
5808ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movw	%ax, -3(%edx)
5818ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, -1(%edx)
5828ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
5838ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
5848ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
5858ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
5868ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_116bytes):
5878ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -116(%edx)
5888ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_100bytes):
5898ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -100(%edx)
5908ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_84bytes):
5918ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -84(%edx)
5928ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_68bytes):
5938ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -68(%edx)
5948ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_52bytes):
5958ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -52(%edx)
5968ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_36bytes):
5978ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -36(%edx)
5988ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_20bytes):
5998ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -20(%edx)
6008ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_4bytes):
6018ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, -4(%edx)
6028ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
6038ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
6048ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
6058ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
6068ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_117bytes):
6078ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -117(%edx)
6088ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_101bytes):
6098ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -101(%edx)
6108ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_85bytes):
6118ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -85(%edx)
6128ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_69bytes):
6138ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -69(%edx)
6148ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_53bytes):
6158ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -53(%edx)
6168ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_37bytes):
6178ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -37(%edx)
6188ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_21bytes):
6198ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -21(%edx)
6208ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_5bytes):
6218ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, -5(%edx)
6228ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, -1(%edx)
6238ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
6248ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
6258ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
6268ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
6278ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_118bytes):
6288ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -118(%edx)
6298ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_102bytes):
6308ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -102(%edx)
6318ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_86bytes):
6328ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -86(%edx)
6338ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_70bytes):
6348ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -70(%edx)
6358ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_54bytes):
6368ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -54(%edx)
6378ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_38bytes):
6388ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -38(%edx)
6398ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_22bytes):
6408ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -22(%edx)
6418ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_6bytes):
6428ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, -6(%edx)
6438ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movw	%ax, -2(%edx)
6448ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
6458ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
6468ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
6478ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
6488ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_119bytes):
6498ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -119(%edx)
6508ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_103bytes):
6518ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -103(%edx)
6528ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_87bytes):
6538ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -87(%edx)
6548ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_71bytes):
6558ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -71(%edx)
6568ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_55bytes):
6578ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -55(%edx)
6588ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_39bytes):
6598ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -39(%edx)
6608ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_23bytes):
6618ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -23(%edx)
6628ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_7bytes):
6638ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, -7(%edx)
6648ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movw	%ax, -3(%edx)
6658ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, -1(%edx)
6668ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
6678ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
6688ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
6698ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
6708ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_120bytes):
6718ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -120(%edx)
6728ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_104bytes):
6738ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -104(%edx)
6748ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_88bytes):
6758ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -88(%edx)
6768ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_72bytes):
6778ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -72(%edx)
6788ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_56bytes):
6798ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -56(%edx)
6808ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_40bytes):
6818ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -40(%edx)
6828ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_24bytes):
6838ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -24(%edx)
6848ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_8bytes):
6858ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movq	%xmm0, -8(%edx)
6868ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
6878ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
6888ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
6898ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
6908ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_121bytes):
6918ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -121(%edx)
6928ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_105bytes):
6938ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -105(%edx)
6948ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_89bytes):
6958ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -89(%edx)
6968ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_73bytes):
6978ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -73(%edx)
6988ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_57bytes):
6998ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -57(%edx)
7008ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_41bytes):
7018ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -41(%edx)
7028ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_25bytes):
7038ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -25(%edx)
7048ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_9bytes):
7058ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movq	%xmm0, -9(%edx)
7068ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, -1(%edx)
7078ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
7088ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
7098ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
7108ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
7118ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_122bytes):
7128ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -122(%edx)
7138ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_106bytes):
7148ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -106(%edx)
7158ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_90bytes):
7168ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -90(%edx)
7178ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_74bytes):
7188ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -74(%edx)
7198ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_58bytes):
7208ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -58(%edx)
7218ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_42bytes):
7228ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -42(%edx)
7238ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_26bytes):
7248ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -26(%edx)
7258ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_10bytes):
7268ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movq	%xmm0, -10(%edx)
7278ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movw	%ax, -2(%edx)
7288ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
7298ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
7308ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
7318ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
7328ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_123bytes):
7338ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -123(%edx)
7348ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_107bytes):
7358ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -107(%edx)
7368ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_91bytes):
7378ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -91(%edx)
7388ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_75bytes):
7398ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -75(%edx)
7408ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_59bytes):
7418ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -59(%edx)
7428ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_43bytes):
7438ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -43(%edx)
7448ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_27bytes):
7458ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -27(%edx)
7468ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_11bytes):
7478ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movq	%xmm0, -11(%edx)
7488ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movw	%ax, -3(%edx)
7498ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, -1(%edx)
7508ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
7518ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
7528ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
7538ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
7548ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_124bytes):
7558ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -124(%edx)
7568ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_108bytes):
7578ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -108(%edx)
7588ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_92bytes):
7598ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -92(%edx)
7608ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_76bytes):
7618ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -76(%edx)
7628ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_60bytes):
7638ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -60(%edx)
7648ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_44bytes):
7658ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -44(%edx)
7668ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_28bytes):
7678ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -28(%edx)
7688ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_12bytes):
7698ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movq	%xmm0, -12(%edx)
7708ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, -4(%edx)
7718ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
7728ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
7738ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
7748ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
7758ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_125bytes):
7768ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -125(%edx)
7778ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_109bytes):
7788ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -109(%edx)
7798ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_93bytes):
7808ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -93(%edx)
7818ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_77bytes):
7828ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -77(%edx)
7838ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_61bytes):
7848ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -61(%edx)
7858ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_45bytes):
7868ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -45(%edx)
7878ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_29bytes):
7888ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -29(%edx)
7898ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_13bytes):
7908ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movq	%xmm0, -13(%edx)
7918ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, -5(%edx)
7928ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, -1(%edx)
7938ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
7948ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
7958ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
7968ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
7978ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_126bytes):
7988ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -126(%edx)
7998ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_110bytes):
8008ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -110(%edx)
8018ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_94bytes):
8028ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -94(%edx)
8038ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_78bytes):
8048ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -78(%edx)
8058ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_62bytes):
8068ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -62(%edx)
8078ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_46bytes):
8088ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -46(%edx)
8098ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_30bytes):
8108ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -30(%edx)
8118ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_14bytes):
8128ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movq	%xmm0, -14(%edx)
8138ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, -6(%edx)
8148ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movw	%ax, -2(%edx)
8158ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
8168ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN
8178ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
8188ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	ALIGN (4)
8198ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_127bytes):
8208ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -127(%edx)
8218ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_111bytes):
8228ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -111(%edx)
8238ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_95bytes):
8248ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -95(%edx)
8258ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_79bytes):
8268ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -79(%edx)
8278ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_63bytes):
8288ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -63(%edx)
8298ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_47bytes):
8308ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -47(%edx)
8318ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_31bytes):
8328ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movdqa	%xmm0, -31(%edx)
8338ff1a2759a6389bed30d7862d0beb76077032c99Bruce BeareL(aligned_16_15bytes):
8348ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movq	%xmm0, -15(%edx)
8358ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movl	%eax, -7(%edx)
8368ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movw	%ax, -3(%edx)
8378ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	movb	%al, -1(%edx)
8388ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	SETRTNVAL
8398ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare	RETURN_END
8408ff1a2759a6389bed30d7862d0beb76077032c99Bruce Beare
8410a490665a3a287cd3aee1e7327f2381222c387c4Liubov DmitrievaEND (MEMSET)
842