[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r6749 - in /fsf/trunk/libc: ./ elf/ sysdeps/generic/ sysdeps/unix/sysv/linux/ sysdeps/x86_64/
- To: commits@xxxxxxxxxx
- Subject: [commits] r6749 - in /fsf/trunk/libc: ./ elf/ sysdeps/generic/ sysdeps/unix/sysv/linux/ sysdeps/x86_64/
- From: eglibc@xxxxxxxxxx
- Date: Fri, 15 Aug 2008 07:08:35 -0000
Author: eglibc
Date: Fri Aug 15 00:08:31 2008
New Revision: 6749
Log:
Import glibc-mainline for 2008-08-15
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/elf/dl-support.c
fsf/trunk/libc/elf/dl-sysdep.c
fsf/trunk/libc/elf/rtld.c
fsf/trunk/libc/sysdeps/generic/ldsodefs.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/dl-origin.c
fsf/trunk/libc/sysdeps/x86_64/memset.S
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Aug 15 00:08:31 2008
@@ -1,3 +1,16 @@
+2008-08-14 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * sysdeps/x86_64/memset.S: Reduce size of tables for PIC.
+
+ * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Undo all
+ change related to AT_EXECFN. We cannot use that string.
+ * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove
+ _dl_execfn member.
+ * elf/dl-support.c: Remove _dl_execfn variable.
+ (_dl_aux_init): Remove handling of AT_EXECFN.
+ * elf/dl-sysdep.c (_dl_sysdep_start): Remove handling of AT_EXECFN.
+ * elf/rtld.c (process_envvars): Remove use of __ASSUME_AT_EXECFN.
+
2008-08-13 Ulrich Drepper <drepper@xxxxxxxxxx>
[BZ #6544]
Modified: fsf/trunk/libc/elf/dl-support.c
==============================================================================
--- fsf/trunk/libc/elf/dl-support.c (original)
+++ fsf/trunk/libc/elf/dl-support.c Fri Aug 15 00:08:31 2008
@@ -62,12 +62,8 @@
/* This is the address of the last stack address ever used. */
void *__libc_stack_end;
-#ifndef __ASSUME_AT_EXECFN
/* Path where the binary is found. */
const char *_dl_origin_path;
-#endif
-/* File Name of the executable. */
-const char *_dl_execfn;
/* Nonzero if runtime lookup should not update the .got/.plt. */
int _dl_bind_not;
@@ -219,9 +215,6 @@
seen = -1;
__libc_enable_secure = av->a_un.a_val;
__libc_enable_secure_decided = 1;
- break;
- case AT_EXECFN:
- GLRO(dl_execfn) = (void *) av->a_un.a_val;
break;
# ifdef DL_PLATFORM_AUXV
DL_PLATFORM_AUXV
Modified: fsf/trunk/libc/elf/dl-sysdep.c
==============================================================================
--- fsf/trunk/libc/elf/dl-sysdep.c (original)
+++ fsf/trunk/libc/elf/dl-sysdep.c Fri Aug 15 00:08:31 2008
@@ -173,9 +173,6 @@
GLRO(dl_sysinfo_dso) = (void *) av->a_un.a_val;
break;
#endif
- case AT_EXECFN:
- GLRO(dl_execfn) = (void *) av->a_un.a_val;
- break;
#ifdef DL_PLATFORM_AUXV
DL_PLATFORM_AUXV
#endif
Modified: fsf/trunk/libc/elf/rtld.c
==============================================================================
--- fsf/trunk/libc/elf/rtld.c (original)
+++ fsf/trunk/libc/elf/rtld.c Fri Aug 15 00:08:31 2008
@@ -2579,12 +2579,10 @@
break;
case 11:
-#ifndef __ASSUME_AT_EXECFN
/* Path where the binary is found. */
if (!INTUSE(__libc_enable_secure)
&& memcmp (envline, "ORIGIN_PATH", 11) == 0)
GLRO(dl_origin_path) = &envline[12];
-#endif
break;
case 12:
Modified: fsf/trunk/libc/sysdeps/generic/ldsodefs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/ldsodefs.h (original)
+++ fsf/trunk/libc/sysdeps/generic/ldsodefs.h Fri Aug 15 00:08:31 2008
@@ -593,13 +593,8 @@
/* Names of shared object for which the RPATH should be ignored. */
EXTERN const char *_dl_inhibit_rpath;
-#ifndef __ASSUME_AT_EXECFN
/* Location of the binary. */
EXTERN const char *_dl_origin_path;
-#endif
-
- /* If set, points to the file name of the executable. */
- EXTERN const char *_dl_execfn;
/* -1 if the dynamic linker should honor library load bias,
0 if not, -2 use the default (honor biases for normal
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/dl-origin.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/dl-origin.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/dl-origin.c Fri Aug 15 00:08:31 2008
@@ -1,5 +1,5 @@
/* Find path of executable.
- Copyright (C) 1998-2000, 2002, 2004, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -36,28 +36,29 @@
_dl_get_origin (void)
{
char linkval[PATH_MAX];
- const char *str;
- char *result = (char *) -1l;
+ char *result;
int len;
+ INTERNAL_SYSCALL_DECL (err);
- str = GLRO(dl_execfn);
- if (str == NULL || str[0] != '/')
+ len = INTERNAL_SYSCALL (readlink, err, 3, "/proc/self/exe", linkval,
+ sizeof (linkval));
+ if (! INTERNAL_SYSCALL_ERROR_P (len, err) && len > 0 && linkval[0] != '[')
{
- INTERNAL_SYSCALL_DECL (err);
-
- len = INTERNAL_SYSCALL (readlink, err, 3, "/proc/self/exe", linkval,
- sizeof (linkval));
- if (! INTERNAL_SYSCALL_ERROR_P (len, err)
- && len > 0 && linkval[0] != '[')
- str = linkval;
+ /* We can use this value. */
+ assert (linkval[0] == '/');
+ while (len > 1 && linkval[len - 1] != '/')
+ --len;
+ result = (char *) malloc (len + 1);
+ if (result == NULL)
+ result = (char *) -1;
+ else if (len == 1)
+ memcpy (result, "/", 2);
else
- str = NULL;
+ *((char *) __mempcpy (result, linkval, len - 1)) = '\0';
}
else
- len = strlen (str);
-
- if (str == NULL)
{
+ result = (char *) -1;
/* We use the environment variable LD_ORIGIN_PATH. If it is set make
a copy and strip out trailing slashes. */
if (GLRO(dl_origin_path) != NULL)
@@ -75,20 +76,6 @@
}
}
}
- else
- {
- /* We can use this value. */
- assert (str[0] == '/');
- while (len > 1 && str[len - 1] != '/')
- --len;
- result = (char *) malloc (len + 1);
- if (result == NULL)
- result = (char *) -1;
- else if (len == 1)
- memcpy (result, "/", 2);
- else
- *((char *) __mempcpy (result, str, len - 1)) = '\0';
- }
return result;
}
Modified: fsf/trunk/libc/sysdeps/x86_64/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/memset.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/memset.S Fri Aug 15 00:08:31 2008
@@ -55,12 +55,14 @@
cmp $0x90,%r8
jg L(ck_mem_ops_method)
L(now_dw_aligned_small):
- lea L(setPxQx)(%rip),%r11
add %r8,%rdi
#ifndef PIC
+ lea L(setPxQx)(%rip),%r11
jmpq *(%r11,%r8,8)
#else
- movslq (%r11,%r8,4),%rcx
+ lea L(Got0)(%rip),%r11
+ lea L(setPxQx)(%rip),%rcx
+ movswq (%rcx,%r8,2),%rcx
lea (%rcx,%r11,1),%r11
jmpq *%r11
#endif
@@ -115,177 +117,177 @@
# endif
#else
L(setPxQx):
- .int L(Got0)-L(setPxQx)
- .int L(P1Q0)-L(setPxQx)
- .int L(P2Q0)-L(setPxQx)
- .int L(P3Q0)-L(setPxQx)
- .int L(P4Q0)-L(setPxQx)
- .int L(P5Q0)-L(setPxQx)
- .int L(P6Q0)-L(setPxQx)
- .int L(P7Q0)-L(setPxQx)
-
- .int L(P0Q1)-L(setPxQx)
- .int L(P1Q1)-L(setPxQx)
- .int L(P2Q1)-L(setPxQx)
- .int L(P3Q1)-L(setPxQx)
- .int L(P4Q1)-L(setPxQx)
- .int L(P5Q1)-L(setPxQx)
- .int L(P6Q1)-L(setPxQx)
- .int L(P7Q1)-L(setPxQx)
-
- .int L(P0Q2)-L(setPxQx)
- .int L(P1Q2)-L(setPxQx)
- .int L(P2Q2)-L(setPxQx)
- .int L(P3Q2)-L(setPxQx)
- .int L(P4Q2)-L(setPxQx)
- .int L(P5Q2)-L(setPxQx)
- .int L(P6Q2)-L(setPxQx)
- .int L(P7Q2)-L(setPxQx)
-
- .int L(P0Q3)-L(setPxQx)
- .int L(P1Q3)-L(setPxQx)
- .int L(P2Q3)-L(setPxQx)
- .int L(P3Q3)-L(setPxQx)
- .int L(P4Q3)-L(setPxQx)
- .int L(P5Q3)-L(setPxQx)
- .int L(P6Q3)-L(setPxQx)
- .int L(P7Q3)-L(setPxQx)
-
- .int L(P0Q4)-L(setPxQx)
- .int L(P1Q4)-L(setPxQx)
- .int L(P2Q4)-L(setPxQx)
- .int L(P3Q4)-L(setPxQx)
- .int L(P4Q4)-L(setPxQx)
- .int L(P5Q4)-L(setPxQx)
- .int L(P6Q4)-L(setPxQx)
- .int L(P7Q4)-L(setPxQx)
-
- .int L(P0Q5)-L(setPxQx)
- .int L(P1Q5)-L(setPxQx)
- .int L(P2Q5)-L(setPxQx)
- .int L(P3Q5)-L(setPxQx)
- .int L(P4Q5)-L(setPxQx)
- .int L(P5Q5)-L(setPxQx)
- .int L(P6Q5)-L(setPxQx)
- .int L(P7Q5)-L(setPxQx)
-
- .int L(P0Q6)-L(setPxQx)
- .int L(P1Q6)-L(setPxQx)
- .int L(P2Q6)-L(setPxQx)
- .int L(P3Q6)-L(setPxQx)
- .int L(P4Q6)-L(setPxQx)
- .int L(P5Q6)-L(setPxQx)
- .int L(P6Q6)-L(setPxQx)
- .int L(P7Q6)-L(setPxQx)
-
- .int L(P0Q7)-L(setPxQx)
- .int L(P1Q7)-L(setPxQx)
- .int L(P2Q7)-L(setPxQx)
- .int L(P3Q7)-L(setPxQx)
- .int L(P4Q7)-L(setPxQx)
- .int L(P5Q7)-L(setPxQx)
- .int L(P6Q7)-L(setPxQx)
- .int L(P7Q7)-L(setPxQx)
-
- .int L(P0Q8)-L(setPxQx)
- .int L(P1Q8)-L(setPxQx)
- .int L(P2Q8)-L(setPxQx)
- .int L(P3Q8)-L(setPxQx)
- .int L(P4Q8)-L(setPxQx)
- .int L(P5Q8)-L(setPxQx)
- .int L(P6Q8)-L(setPxQx)
- .int L(P7Q8)-L(setPxQx)
-
- .int L(P0Q9)-L(setPxQx)
- .int L(P1Q9)-L(setPxQx)
- .int L(P2Q9)-L(setPxQx)
- .int L(P3Q9)-L(setPxQx)
- .int L(P4Q9)-L(setPxQx)
- .int L(P5Q9)-L(setPxQx)
- .int L(P6Q9)-L(setPxQx)
- .int L(P7Q9)-L(setPxQx)
-
- .int L(P0QA)-L(setPxQx)
- .int L(P1QA)-L(setPxQx)
- .int L(P2QA)-L(setPxQx)
- .int L(P3QA)-L(setPxQx)
- .int L(P4QA)-L(setPxQx)
- .int L(P5QA)-L(setPxQx)
- .int L(P6QA)-L(setPxQx)
- .int L(P7QA)-L(setPxQx)
-
- .int L(P0QB)-L(setPxQx)
- .int L(P1QB)-L(setPxQx)
- .int L(P2QB)-L(setPxQx)
- .int L(P3QB)-L(setPxQx)
- .int L(P4QB)-L(setPxQx)
- .int L(P5QB)-L(setPxQx)
- .int L(P6QB)-L(setPxQx)
- .int L(P7QB)-L(setPxQx)
-
- .int L(P0QC)-L(setPxQx)
- .int L(P1QC)-L(setPxQx)
- .int L(P2QC)-L(setPxQx)
- .int L(P3QC)-L(setPxQx)
- .int L(P4QC)-L(setPxQx)
- .int L(P5QC)-L(setPxQx)
- .int L(P6QC)-L(setPxQx)
- .int L(P7QC)-L(setPxQx)
-
- .int L(P0QD)-L(setPxQx)
- .int L(P1QD)-L(setPxQx)
- .int L(P2QD)-L(setPxQx)
- .int L(P3QD)-L(setPxQx)
- .int L(P4QD)-L(setPxQx)
- .int L(P5QD)-L(setPxQx)
- .int L(P6QD)-L(setPxQx)
- .int L(P7QD)-L(setPxQx)
-
- .int L(P0QE)-L(setPxQx)
- .int L(P1QE)-L(setPxQx)
- .int L(P2QE)-L(setPxQx)
- .int L(P3QE)-L(setPxQx)
- .int L(P4QE)-L(setPxQx)
- .int L(P5QE)-L(setPxQx)
- .int L(P6QE)-L(setPxQx)
- .int L(P7QE)-L(setPxQx)
-
- .int L(P0QF)-L(setPxQx)
- .int L(P1QF)-L(setPxQx)
- .int L(P2QF)-L(setPxQx)
- .int L(P3QF)-L(setPxQx)
- .int L(P4QF)-L(setPxQx)
- .int L(P5QF)-L(setPxQx)
- .int L(P6QF)-L(setPxQx)
- .int L(P7QF)-L(setPxQx)
-
- .int L(P0QG)-L(setPxQx)
- .int L(P1QG)-L(setPxQx)
- .int L(P2QG)-L(setPxQx)
- .int L(P3QG)-L(setPxQx)
- .int L(P4QG)-L(setPxQx)
- .int L(P5QG)-L(setPxQx)
- .int L(P6QG)-L(setPxQx)
- .int L(P7QG)-L(setPxQx)
-
- .int L(P0QH)-L(setPxQx)
- .int L(P1QH)-L(setPxQx)
- .int L(P2QH)-L(setPxQx)
- .int L(P3QH)-L(setPxQx)
- .int L(P4QH)-L(setPxQx)
- .int L(P5QH)-L(setPxQx)
- .int L(P6QH)-L(setPxQx)
- .int L(P7QH)-L(setPxQx)
-
- .int L(P0QI)-L(setPxQx)
+ .short L(Got0)-L(Got0)
+ .short L(P1Q0)-L(Got0)
+ .short L(P2Q0)-L(Got0)
+ .short L(P3Q0)-L(Got0)
+ .short L(P4Q0)-L(Got0)
+ .short L(P5Q0)-L(Got0)
+ .short L(P6Q0)-L(Got0)
+ .short L(P7Q0)-L(Got0)
+
+ .short L(P0Q1)-L(Got0)
+ .short L(P1Q1)-L(Got0)
+ .short L(P2Q1)-L(Got0)
+ .short L(P3Q1)-L(Got0)
+ .short L(P4Q1)-L(Got0)
+ .short L(P5Q1)-L(Got0)
+ .short L(P6Q1)-L(Got0)
+ .short L(P7Q1)-L(Got0)
+
+ .short L(P0Q2)-L(Got0)
+ .short L(P1Q2)-L(Got0)
+ .short L(P2Q2)-L(Got0)
+ .short L(P3Q2)-L(Got0)
+ .short L(P4Q2)-L(Got0)
+ .short L(P5Q2)-L(Got0)
+ .short L(P6Q2)-L(Got0)
+ .short L(P7Q2)-L(Got0)
+
+ .short L(P0Q3)-L(Got0)
+ .short L(P1Q3)-L(Got0)
+ .short L(P2Q3)-L(Got0)
+ .short L(P3Q3)-L(Got0)
+ .short L(P4Q3)-L(Got0)
+ .short L(P5Q3)-L(Got0)
+ .short L(P6Q3)-L(Got0)
+ .short L(P7Q3)-L(Got0)
+
+ .short L(P0Q4)-L(Got0)
+ .short L(P1Q4)-L(Got0)
+ .short L(P2Q4)-L(Got0)
+ .short L(P3Q4)-L(Got0)
+ .short L(P4Q4)-L(Got0)
+ .short L(P5Q4)-L(Got0)
+ .short L(P6Q4)-L(Got0)
+ .short L(P7Q4)-L(Got0)
+
+ .short L(P0Q5)-L(Got0)
+ .short L(P1Q5)-L(Got0)
+ .short L(P2Q5)-L(Got0)
+ .short L(P3Q5)-L(Got0)
+ .short L(P4Q5)-L(Got0)
+ .short L(P5Q5)-L(Got0)
+ .short L(P6Q5)-L(Got0)
+ .short L(P7Q5)-L(Got0)
+
+ .short L(P0Q6)-L(Got0)
+ .short L(P1Q6)-L(Got0)
+ .short L(P2Q6)-L(Got0)
+ .short L(P3Q6)-L(Got0)
+ .short L(P4Q6)-L(Got0)
+ .short L(P5Q6)-L(Got0)
+ .short L(P6Q6)-L(Got0)
+ .short L(P7Q6)-L(Got0)
+
+ .short L(P0Q7)-L(Got0)
+ .short L(P1Q7)-L(Got0)
+ .short L(P2Q7)-L(Got0)
+ .short L(P3Q7)-L(Got0)
+ .short L(P4Q7)-L(Got0)
+ .short L(P5Q7)-L(Got0)
+ .short L(P6Q7)-L(Got0)
+ .short L(P7Q7)-L(Got0)
+
+ .short L(P0Q8)-L(Got0)
+ .short L(P1Q8)-L(Got0)
+ .short L(P2Q8)-L(Got0)
+ .short L(P3Q8)-L(Got0)
+ .short L(P4Q8)-L(Got0)
+ .short L(P5Q8)-L(Got0)
+ .short L(P6Q8)-L(Got0)
+ .short L(P7Q8)-L(Got0)
+
+ .short L(P0Q9)-L(Got0)
+ .short L(P1Q9)-L(Got0)
+ .short L(P2Q9)-L(Got0)
+ .short L(P3Q9)-L(Got0)
+ .short L(P4Q9)-L(Got0)
+ .short L(P5Q9)-L(Got0)
+ .short L(P6Q9)-L(Got0)
+ .short L(P7Q9)-L(Got0)
+
+ .short L(P0QA)-L(Got0)
+ .short L(P1QA)-L(Got0)
+ .short L(P2QA)-L(Got0)
+ .short L(P3QA)-L(Got0)
+ .short L(P4QA)-L(Got0)
+ .short L(P5QA)-L(Got0)
+ .short L(P6QA)-L(Got0)
+ .short L(P7QA)-L(Got0)
+
+ .short L(P0QB)-L(Got0)
+ .short L(P1QB)-L(Got0)
+ .short L(P2QB)-L(Got0)
+ .short L(P3QB)-L(Got0)
+ .short L(P4QB)-L(Got0)
+ .short L(P5QB)-L(Got0)
+ .short L(P6QB)-L(Got0)
+ .short L(P7QB)-L(Got0)
+
+ .short L(P0QC)-L(Got0)
+ .short L(P1QC)-L(Got0)
+ .short L(P2QC)-L(Got0)
+ .short L(P3QC)-L(Got0)
+ .short L(P4QC)-L(Got0)
+ .short L(P5QC)-L(Got0)
+ .short L(P6QC)-L(Got0)
+ .short L(P7QC)-L(Got0)
+
+ .short L(P0QD)-L(Got0)
+ .short L(P1QD)-L(Got0)
+ .short L(P2QD)-L(Got0)
+ .short L(P3QD)-L(Got0)
+ .short L(P4QD)-L(Got0)
+ .short L(P5QD)-L(Got0)
+ .short L(P6QD)-L(Got0)
+ .short L(P7QD)-L(Got0)
+
+ .short L(P0QE)-L(Got0)
+ .short L(P1QE)-L(Got0)
+ .short L(P2QE)-L(Got0)
+ .short L(P3QE)-L(Got0)
+ .short L(P4QE)-L(Got0)
+ .short L(P5QE)-L(Got0)
+ .short L(P6QE)-L(Got0)
+ .short L(P7QE)-L(Got0)
+
+ .short L(P0QF)-L(Got0)
+ .short L(P1QF)-L(Got0)
+ .short L(P2QF)-L(Got0)
+ .short L(P3QF)-L(Got0)
+ .short L(P4QF)-L(Got0)
+ .short L(P5QF)-L(Got0)
+ .short L(P6QF)-L(Got0)
+ .short L(P7QF)-L(Got0)
+
+ .short L(P0QG)-L(Got0)
+ .short L(P1QG)-L(Got0)
+ .short L(P2QG)-L(Got0)
+ .short L(P3QG)-L(Got0)
+ .short L(P4QG)-L(Got0)
+ .short L(P5QG)-L(Got0)
+ .short L(P6QG)-L(Got0)
+ .short L(P7QG)-L(Got0)
+
+ .short L(P0QH)-L(Got0)
+ .short L(P1QH)-L(Got0)
+ .short L(P2QH)-L(Got0)
+ .short L(P3QH)-L(Got0)
+ .short L(P4QH)-L(Got0)
+ .short L(P5QH)-L(Got0)
+ .short L(P6QH)-L(Got0)
+ .short L(P7QH)-L(Got0)
+
+ .short L(P0QI)-L(Got0)
# ifdef USE_EXTRA_TABLE
- .int L(P1QI)-L(setPxQx)
- .int L(P2QI)-L(setPxQx)
- .int L(P3QI)-L(setPxQx)
- .int L(P4QI)-L(setPxQx)
- .int L(P5QI)-L(setPxQx)
- .int L(P6QI)-L(setPxQx)
- .int L(P7QI)-L(setPxQx)
+ .short L(P1QI)-L(Got0)
+ .short L(P2QI)-L(Got0)
+ .short L(P3QI)-L(Got0)
+ .short L(P4QI)-L(Got0)
+ .short L(P5QI)-L(Got0)
+ .short L(P6QI)-L(Got0)
+ .short L(P7QI)-L(Got0)
# endif
#endif
.popsection
@@ -499,18 +501,20 @@
# align to 16 byte boundary first
#test $0xf,%rdi
#jz L(aligned_now)
- lea L(AliPxQx)(%rip),%r11
- mov $0x10,%r10
- mov %rdi,%r9
- and $0xf,%r9
- sub %r9,%r10
- and $0xf,%r10
- add %r10,%rdi
- sub %r10,%r8
+ mov $0x10,%r10
+ mov %rdi,%r9
+ and $0xf,%r9
+ sub %r9,%r10
+ and $0xf,%r10
+ add %r10,%rdi
+ sub %r10,%r8
#ifndef PIC
+ lea L(AliPxQx)(%rip),%r11
jmpq *(%r11,%r10,8)
#else
- movslq (%r11,%r10,4),%rcx
+ lea L(aligned_now)(%rip), %r11
+ lea L(AliPxQx)(%rip),%rcx
+ movswq (%rcx,%r10,2),%rcx
lea (%rcx,%r11,1),%r11
jmpq *%r11
#endif
@@ -525,23 +529,23 @@
.quad L(A4Q1), L(A5Q1), L(A6Q1), L(A7Q1)
#else
L(AliPxQx):
- .int L(aligned_now)-L(AliPxQx)
- .int L(A1Q0)-L(AliPxQx)
- .int L(A2Q0)-L(AliPxQx)
- .int L(A3Q0)-L(AliPxQx)
- .int L(A4Q0)-L(AliPxQx)
- .int L(A5Q0)-L(AliPxQx)
- .int L(A6Q0)-L(AliPxQx)
- .int L(A7Q0)-L(AliPxQx)
-
- .int L(A0Q1)-L(AliPxQx)
- .int L(A1Q1)-L(AliPxQx)
- .int L(A2Q1)-L(AliPxQx)
- .int L(A3Q1)-L(AliPxQx)
- .int L(A4Q1)-L(AliPxQx)
- .int L(A5Q1)-L(AliPxQx)
- .int L(A6Q1)-L(AliPxQx)
- .int L(A7Q1)-L(AliPxQx)
+ .short L(aligned_now)-L(aligned_now)
+ .short L(A1Q0)-L(aligned_now)
+ .short L(A2Q0)-L(aligned_now)
+ .short L(A3Q0)-L(aligned_now)
+ .short L(A4Q0)-L(aligned_now)
+ .short L(A5Q0)-L(aligned_now)
+ .short L(A6Q0)-L(aligned_now)
+ .short L(A7Q0)-L(aligned_now)
+
+ .short L(A0Q1)-L(aligned_now)
+ .short L(A1Q1)-L(aligned_now)
+ .short L(A2Q1)-L(aligned_now)
+ .short L(A3Q1)-L(aligned_now)
+ .short L(A4Q1)-L(aligned_now)
+ .short L(A5Q1)-L(aligned_now)
+ .short L(A6Q1)-L(aligned_now)
+ .short L(A7Q1)-L(aligned_now)
#endif
.popsection
@@ -634,12 +638,14 @@
L(8byte_move_skip):
andl $127,%r8d
lea (%rdi,%r8,1),%rdi
+
+#ifndef PIC
lea L(setPxQx)(%rip),%r11
-
-#ifndef PIC
jmpq *(%r11,%r8,8) # old scheme remained for nonPIC
#else
- movslq (%r11,%r8,4),%rcx
+ lea L(Got0)(%rip),%r11
+ lea L(setPxQx)(%rip),%rcx
+ movswq (%rcx,%r8,2),%rcx
lea (%rcx,%r11,1),%r11
jmpq *%r11
#endif
@@ -676,11 +682,13 @@
andl $7,%r8d
lea (%rdi,%r8,1),%rdi
+#ifndef PIC
lea L(setPxQx)(%rip),%r11
-#ifndef PIC
jmpq *(%r11,%r8,8) # old scheme remained for nonPIC
#else
- movslq (%r11,%r8,4),%rcx
+ lea L(Got0)(%rip),%r11
+ lea L(setPxQx)(%rip),%rcx
+ movswq (%rcx,%r8,2),%rcx
lea (%rcx,%r11,1),%r11
jmpq *%r11
#endif
@@ -722,11 +730,13 @@
andl $127,%r8d
lea (%rdi,%r8,1),%rdi
+#ifndef PIC
lea L(setPxQx)(%rip),%r11
-#ifndef PIC
jmpq *(%r11,%r8,8) # old scheme remained for nonPIC
#else
- movslq (%r11,%r8,4),%rcx
+ lea L(Got0)(%rip),%r11
+ lea L(setPxQx)(%rip),%rcx
+ movswq (%rcx,%r8,2),%rcx
lea (%rcx,%r11,1),%r11
jmpq *%r11
#endif
@@ -736,15 +746,17 @@
movd %rdx,%xmm0
punpcklqdq %xmm0,%xmm0
- lea L(SSExDx)(%rip),%r9 # for later after the alignment
cmp $0xb0,%r8 # 176
jge L(byte32sse2_pre)
add %r8,%rdi
#ifndef PIC
+ lea L(SSExDx)(%rip),%r9
jmpq *(%r9,%r8,8)
#else
- movslq (%r9,%r8,4),%rcx
+ lea L(SSE0Q0)(%rip),%r9
+ lea L(SSExDx)(%rip),%rcx
+ movswq (%rcx,%r8,2),%rcx
lea (%rcx,%r9,1),%r9
jmpq *%r9
#endif
@@ -1012,13 +1024,15 @@
lea 0x80(%rdi),%rdi
jge L(byte32sse2)
- lea L(SSExDx)(%rip),%r11
add %r8,%rdi
#ifndef PIC
+ lea L(SSExDx)(%rip),%r11
jmpq *(%r11,%r8,8)
#else
- movslq (%r11,%r8,4),%rcx
- lea (%rcx,%r11,1),%r11
+ lea L(SSE0Q0)(%rip),%r11
+ lea L(SSExDx)(%rip),%rcx
+ movswq (%rcx,%r8,2),%rcx
+ lea (%rcx,%r11,1),%r11
jmpq *%r11
#endif
@@ -1044,13 +1058,15 @@
lea 0x80(%rdi),%rdi
jge L(sse2_nt_move)
- lea L(SSExDx)(%rip),%r11
sfence
add %r8,%rdi
#ifndef PIC
+ lea L(SSExDx)(%rip),%r11
jmpq *(%r11,%r8,8)
#else
- movslq (%r11,%r8,4),%rcx
+ lea L(SSE0Q0)(%rip),%r11
+ lea L(SSExDx)(%rip),%rcx
+ movswq (%rcx,%r8,2),%rcx
lea (%rcx,%r11,1),%r11
jmpq *%r11
#endif
@@ -1109,221 +1125,221 @@
.quad L(SSE12QB), L(SSE13QB), L(SSE14QB), L(SSE15QB)
#else
L(SSExDx):
- .int L(SSE0Q0) -L(SSExDx)
- .int L(SSE1Q0) -L(SSExDx)
- .int L(SSE2Q0) -L(SSExDx)
- .int L(SSE3Q0) -L(SSExDx)
- .int L(SSE4Q0) -L(SSExDx)
- .int L(SSE5Q0) -L(SSExDx)
- .int L(SSE6Q0) -L(SSExDx)
- .int L(SSE7Q0) -L(SSExDx)
-
- .int L(SSE8Q0) -L(SSExDx)
- .int L(SSE9Q0) -L(SSExDx)
- .int L(SSE10Q0)-L(SSExDx)
- .int L(SSE11Q0)-L(SSExDx)
- .int L(SSE12Q0)-L(SSExDx)
- .int L(SSE13Q0)-L(SSExDx)
- .int L(SSE14Q0)-L(SSExDx)
- .int L(SSE15Q0)-L(SSExDx)
-
- .int L(SSE0Q1) -L(SSExDx)
- .int L(SSE1Q1) -L(SSExDx)
- .int L(SSE2Q1) -L(SSExDx)
- .int L(SSE3Q1) -L(SSExDx)
- .int L(SSE4Q1) -L(SSExDx)
- .int L(SSE5Q1) -L(SSExDx)
- .int L(SSE6Q1) -L(SSExDx)
- .int L(SSE7Q1) -L(SSExDx)
-
- .int L(SSE8Q1) -L(SSExDx)
- .int L(SSE9Q1) -L(SSExDx)
- .int L(SSE10Q1)-L(SSExDx)
- .int L(SSE11Q1)-L(SSExDx)
- .int L(SSE12Q1)-L(SSExDx)
- .int L(SSE13Q1)-L(SSExDx)
- .int L(SSE14Q1)-L(SSExDx)
- .int L(SSE15Q1)-L(SSExDx)
-
- .int L(SSE0Q2) -L(SSExDx)
- .int L(SSE1Q2) -L(SSExDx)
- .int L(SSE2Q2) -L(SSExDx)
- .int L(SSE3Q2) -L(SSExDx)
- .int L(SSE4Q2) -L(SSExDx)
- .int L(SSE5Q2) -L(SSExDx)
- .int L(SSE6Q2) -L(SSExDx)
- .int L(SSE7Q2) -L(SSExDx)
-
- .int L(SSE8Q2) -L(SSExDx)
- .int L(SSE9Q2) -L(SSExDx)
- .int L(SSE10Q2)-L(SSExDx)
- .int L(SSE11Q2)-L(SSExDx)
- .int L(SSE12Q2)-L(SSExDx)
- .int L(SSE13Q2)-L(SSExDx)
- .int L(SSE14Q2)-L(SSExDx)
- .int L(SSE15Q2)-L(SSExDx)
-
- .int L(SSE0Q3) -L(SSExDx)
- .int L(SSE1Q3) -L(SSExDx)
- .int L(SSE2Q3) -L(SSExDx)
- .int L(SSE3Q3) -L(SSExDx)
- .int L(SSE4Q3) -L(SSExDx)
- .int L(SSE5Q3) -L(SSExDx)
- .int L(SSE6Q3) -L(SSExDx)
- .int L(SSE7Q3) -L(SSExDx)
-
- .int L(SSE8Q3) -L(SSExDx)
- .int L(SSE9Q3) -L(SSExDx)
- .int L(SSE10Q3)-L(SSExDx)
- .int L(SSE11Q3)-L(SSExDx)
- .int L(SSE12Q3)-L(SSExDx)
- .int L(SSE13Q3)-L(SSExDx)
- .int L(SSE14Q3)-L(SSExDx)
- .int L(SSE15Q3)-L(SSExDx)
-
- .int L(SSE0Q4) -L(SSExDx)
- .int L(SSE1Q4) -L(SSExDx)
- .int L(SSE2Q4) -L(SSExDx)
- .int L(SSE3Q4) -L(SSExDx)
- .int L(SSE4Q4) -L(SSExDx)
- .int L(SSE5Q4) -L(SSExDx)
- .int L(SSE6Q4) -L(SSExDx)
- .int L(SSE7Q4) -L(SSExDx)
-
- .int L(SSE8Q4) -L(SSExDx)
- .int L(SSE9Q4) -L(SSExDx)
- .int L(SSE10Q4)-L(SSExDx)
- .int L(SSE11Q4)-L(SSExDx)
- .int L(SSE12Q4)-L(SSExDx)
- .int L(SSE13Q4)-L(SSExDx)
- .int L(SSE14Q4)-L(SSExDx)
- .int L(SSE15Q4)-L(SSExDx)
-
- .int L(SSE0Q5) -L(SSExDx)
- .int L(SSE1Q5) -L(SSExDx)
- .int L(SSE2Q5) -L(SSExDx)
- .int L(SSE3Q5) -L(SSExDx)
- .int L(SSE4Q5) -L(SSExDx)
- .int L(SSE5Q5) -L(SSExDx)
- .int L(SSE6Q5) -L(SSExDx)
- .int L(SSE7Q5) -L(SSExDx)
-
- .int L(SSE8Q5) -L(SSExDx)
- .int L(SSE9Q5) -L(SSExDx)
- .int L(SSE10Q5)-L(SSExDx)
- .int L(SSE11Q5)-L(SSExDx)
- .int L(SSE12Q5)-L(SSExDx)
- .int L(SSE13Q5)-L(SSExDx)
- .int L(SSE14Q5)-L(SSExDx)
- .int L(SSE15Q5)-L(SSExDx)
-
- .int L(SSE0Q6) -L(SSExDx)
- .int L(SSE1Q6) -L(SSExDx)
- .int L(SSE2Q6) -L(SSExDx)
- .int L(SSE3Q6) -L(SSExDx)
- .int L(SSE4Q6) -L(SSExDx)
- .int L(SSE5Q6) -L(SSExDx)
- .int L(SSE6Q6) -L(SSExDx)
- .int L(SSE7Q6) -L(SSExDx)
-
- .int L(SSE8Q6) -L(SSExDx)
- .int L(SSE9Q6) -L(SSExDx)
- .int L(SSE10Q6)-L(SSExDx)
- .int L(SSE11Q6)-L(SSExDx)
- .int L(SSE12Q6)-L(SSExDx)
- .int L(SSE13Q6)-L(SSExDx)
- .int L(SSE14Q6)-L(SSExDx)
- .int L(SSE15Q6)-L(SSExDx)
-
- .int L(SSE0Q7) -L(SSExDx)
- .int L(SSE1Q7) -L(SSExDx)
- .int L(SSE2Q7) -L(SSExDx)
- .int L(SSE3Q7) -L(SSExDx)
- .int L(SSE4Q7) -L(SSExDx)
- .int L(SSE5Q7) -L(SSExDx)
- .int L(SSE6Q7) -L(SSExDx)
- .int L(SSE7Q7) -L(SSExDx)
-
- .int L(SSE8Q7) -L(SSExDx)
- .int L(SSE9Q7) -L(SSExDx)
- .int L(SSE10Q7)-L(SSExDx)
- .int L(SSE11Q7)-L(SSExDx)
- .int L(SSE12Q7)-L(SSExDx)
- .int L(SSE13Q7)-L(SSExDx)
- .int L(SSE14Q7)-L(SSExDx)
- .int L(SSE15Q7)-L(SSExDx)
-
- .int L(SSE0Q8) -L(SSExDx)
- .int L(SSE1Q8) -L(SSExDx)
- .int L(SSE2Q8) -L(SSExDx)
- .int L(SSE3Q8) -L(SSExDx)
- .int L(SSE4Q8) -L(SSExDx)
- .int L(SSE5Q8) -L(SSExDx)
- .int L(SSE6Q8) -L(SSExDx)
- .int L(SSE7Q8) -L(SSExDx)
-
- .int L(SSE8Q8) -L(SSExDx)
- .int L(SSE9Q8) -L(SSExDx)
- .int L(SSE10Q8)-L(SSExDx)
- .int L(SSE11Q8)-L(SSExDx)
- .int L(SSE12Q8)-L(SSExDx)
- .int L(SSE13Q8)-L(SSExDx)
- .int L(SSE14Q8)-L(SSExDx)
- .int L(SSE15Q8)-L(SSExDx)
-
- .int L(SSE0Q9) -L(SSExDx)
- .int L(SSE1Q9) -L(SSExDx)
- .int L(SSE2Q9) -L(SSExDx)
- .int L(SSE3Q9) -L(SSExDx)
- .int L(SSE4Q9) -L(SSExDx)
- .int L(SSE5Q9) -L(SSExDx)
- .int L(SSE6Q9) -L(SSExDx)
- .int L(SSE7Q9) -L(SSExDx)
-
- .int L(SSE8Q9) -L(SSExDx)
- .int L(SSE9Q9) -L(SSExDx)
- .int L(SSE10Q9)-L(SSExDx)
- .int L(SSE11Q9)-L(SSExDx)
- .int L(SSE12Q9)-L(SSExDx)
- .int L(SSE13Q9)-L(SSExDx)
- .int L(SSE14Q9)-L(SSExDx)
- .int L(SSE15Q9)-L(SSExDx)
-
- .int L(SSE0QA) -L(SSExDx)
- .int L(SSE1QA) -L(SSExDx)
- .int L(SSE2QA) -L(SSExDx)
- .int L(SSE3QA) -L(SSExDx)
- .int L(SSE4QA) -L(SSExDx)
- .int L(SSE5QA) -L(SSExDx)
- .int L(SSE6QA) -L(SSExDx)
- .int L(SSE7QA) -L(SSExDx)
-
- .int L(SSE8QA) -L(SSExDx)
- .int L(SSE9QA) -L(SSExDx)
- .int L(SSE10QA)-L(SSExDx)
- .int L(SSE11QA)-L(SSExDx)
- .int L(SSE12QA)-L(SSExDx)
- .int L(SSE13QA)-L(SSExDx)
- .int L(SSE14QA)-L(SSExDx)
- .int L(SSE15QA)-L(SSExDx)
-
- .int L(SSE0QB) -L(SSExDx)
- .int L(SSE1QB) -L(SSExDx)
- .int L(SSE2QB) -L(SSExDx)
- .int L(SSE3QB) -L(SSExDx)
- .int L(SSE4QB) -L(SSExDx)
- .int L(SSE5QB) -L(SSExDx)
- .int L(SSE6QB) -L(SSExDx)
- .int L(SSE7QB) -L(SSExDx)
-
- .int L(SSE8QB) -L(SSExDx)
- .int L(SSE9QB) -L(SSExDx)
- .int L(SSE10QB)-L(SSExDx)
- .int L(SSE11QB)-L(SSExDx)
- .int L(SSE12QB)-L(SSExDx)
- .int L(SSE13QB)-L(SSExDx)
- .int L(SSE14QB)-L(SSExDx)
- .int L(SSE15QB)-L(SSExDx)
+ .short L(SSE0Q0) -L(SSE0Q0)
+ .short L(SSE1Q0) -L(SSE0Q0)
+ .short L(SSE2Q0) -L(SSE0Q0)
+ .short L(SSE3Q0) -L(SSE0Q0)
+ .short L(SSE4Q0) -L(SSE0Q0)
+ .short L(SSE5Q0) -L(SSE0Q0)
+ .short L(SSE6Q0) -L(SSE0Q0)
+ .short L(SSE7Q0) -L(SSE0Q0)
+
+ .short L(SSE8Q0) -L(SSE0Q0)
+ .short L(SSE9Q0) -L(SSE0Q0)
+ .short L(SSE10Q0)-L(SSE0Q0)
+ .short L(SSE11Q0)-L(SSE0Q0)
+ .short L(SSE12Q0)-L(SSE0Q0)
+ .short L(SSE13Q0)-L(SSE0Q0)
+ .short L(SSE14Q0)-L(SSE0Q0)
+ .short L(SSE15Q0)-L(SSE0Q0)
+
+ .short L(SSE0Q1) -L(SSE0Q0)
+ .short L(SSE1Q1) -L(SSE0Q0)
+ .short L(SSE2Q1) -L(SSE0Q0)
+ .short L(SSE3Q1) -L(SSE0Q0)
+ .short L(SSE4Q1) -L(SSE0Q0)
+ .short L(SSE5Q1) -L(SSE0Q0)
+ .short L(SSE6Q1) -L(SSE0Q0)
+ .short L(SSE7Q1) -L(SSE0Q0)
+
+ .short L(SSE8Q1) -L(SSE0Q0)
+ .short L(SSE9Q1) -L(SSE0Q0)
+ .short L(SSE10Q1)-L(SSE0Q0)
+ .short L(SSE11Q1)-L(SSE0Q0)
+ .short L(SSE12Q1)-L(SSE0Q0)
+ .short L(SSE13Q1)-L(SSE0Q0)
+ .short L(SSE14Q1)-L(SSE0Q0)
+ .short L(SSE15Q1)-L(SSE0Q0)
+
+ .short L(SSE0Q2) -L(SSE0Q0)
+ .short L(SSE1Q2) -L(SSE0Q0)
+ .short L(SSE2Q2) -L(SSE0Q0)
+ .short L(SSE3Q2) -L(SSE0Q0)
+ .short L(SSE4Q2) -L(SSE0Q0)
+ .short L(SSE5Q2) -L(SSE0Q0)
+ .short L(SSE6Q2) -L(SSE0Q0)
+ .short L(SSE7Q2) -L(SSE0Q0)
+
+ .short L(SSE8Q2) -L(SSE0Q0)
+ .short L(SSE9Q2) -L(SSE0Q0)
+ .short L(SSE10Q2)-L(SSE0Q0)
+ .short L(SSE11Q2)-L(SSE0Q0)
+ .short L(SSE12Q2)-L(SSE0Q0)
+ .short L(SSE13Q2)-L(SSE0Q0)
+ .short L(SSE14Q2)-L(SSE0Q0)
+ .short L(SSE15Q2)-L(SSE0Q0)
+
+ .short L(SSE0Q3) -L(SSE0Q0)
+ .short L(SSE1Q3) -L(SSE0Q0)
+ .short L(SSE2Q3) -L(SSE0Q0)
+ .short L(SSE3Q3) -L(SSE0Q0)
+ .short L(SSE4Q3) -L(SSE0Q0)
+ .short L(SSE5Q3) -L(SSE0Q0)
+ .short L(SSE6Q3) -L(SSE0Q0)
+ .short L(SSE7Q3) -L(SSE0Q0)
+
+ .short L(SSE8Q3) -L(SSE0Q0)
+ .short L(SSE9Q3) -L(SSE0Q0)
+ .short L(SSE10Q3)-L(SSE0Q0)
+ .short L(SSE11Q3)-L(SSE0Q0)
+ .short L(SSE12Q3)-L(SSE0Q0)
+ .short L(SSE13Q3)-L(SSE0Q0)
+ .short L(SSE14Q3)-L(SSE0Q0)
+ .short L(SSE15Q3)-L(SSE0Q0)
+
+ .short L(SSE0Q4) -L(SSE0Q0)
+ .short L(SSE1Q4) -L(SSE0Q0)
+ .short L(SSE2Q4) -L(SSE0Q0)
+ .short L(SSE3Q4) -L(SSE0Q0)
+ .short L(SSE4Q4) -L(SSE0Q0)
+ .short L(SSE5Q4) -L(SSE0Q0)
+ .short L(SSE6Q4) -L(SSE0Q0)
+ .short L(SSE7Q4) -L(SSE0Q0)
+
+ .short L(SSE8Q4) -L(SSE0Q0)
+ .short L(SSE9Q4) -L(SSE0Q0)
+ .short L(SSE10Q4)-L(SSE0Q0)
+ .short L(SSE11Q4)-L(SSE0Q0)
+ .short L(SSE12Q4)-L(SSE0Q0)
+ .short L(SSE13Q4)-L(SSE0Q0)
+ .short L(SSE14Q4)-L(SSE0Q0)
+ .short L(SSE15Q4)-L(SSE0Q0)
+
+ .short L(SSE0Q5) -L(SSE0Q0)
+ .short L(SSE1Q5) -L(SSE0Q0)
+ .short L(SSE2Q5) -L(SSE0Q0)
+ .short L(SSE3Q5) -L(SSE0Q0)
+ .short L(SSE4Q5) -L(SSE0Q0)
+ .short L(SSE5Q5) -L(SSE0Q0)
+ .short L(SSE6Q5) -L(SSE0Q0)
+ .short L(SSE7Q5) -L(SSE0Q0)
+
+ .short L(SSE8Q5) -L(SSE0Q0)
+ .short L(SSE9Q5) -L(SSE0Q0)
+ .short L(SSE10Q5)-L(SSE0Q0)
+ .short L(SSE11Q5)-L(SSE0Q0)
+ .short L(SSE12Q5)-L(SSE0Q0)
+ .short L(SSE13Q5)-L(SSE0Q0)
+ .short L(SSE14Q5)-L(SSE0Q0)
+ .short L(SSE15Q5)-L(SSE0Q0)
+
+ .short L(SSE0Q6) -L(SSE0Q0)
+ .short L(SSE1Q6) -L(SSE0Q0)
+ .short L(SSE2Q6) -L(SSE0Q0)
+ .short L(SSE3Q6) -L(SSE0Q0)
+ .short L(SSE4Q6) -L(SSE0Q0)
+ .short L(SSE5Q6) -L(SSE0Q0)
+ .short L(SSE6Q6) -L(SSE0Q0)
+ .short L(SSE7Q6) -L(SSE0Q0)
+
+ .short L(SSE8Q6) -L(SSE0Q0)
+ .short L(SSE9Q6) -L(SSE0Q0)
+ .short L(SSE10Q6)-L(SSE0Q0)
+ .short L(SSE11Q6)-L(SSE0Q0)
+ .short L(SSE12Q6)-L(SSE0Q0)
+ .short L(SSE13Q6)-L(SSE0Q0)
+ .short L(SSE14Q6)-L(SSE0Q0)
+ .short L(SSE15Q6)-L(SSE0Q0)
+
+ .short L(SSE0Q7) -L(SSE0Q0)
+ .short L(SSE1Q7) -L(SSE0Q0)
+ .short L(SSE2Q7) -L(SSE0Q0)
+ .short L(SSE3Q7) -L(SSE0Q0)
+ .short L(SSE4Q7) -L(SSE0Q0)
+ .short L(SSE5Q7) -L(SSE0Q0)
+ .short L(SSE6Q7) -L(SSE0Q0)
+ .short L(SSE7Q7) -L(SSE0Q0)
+
+ .short L(SSE8Q7) -L(SSE0Q0)
+ .short L(SSE9Q7) -L(SSE0Q0)
+ .short L(SSE10Q7)-L(SSE0Q0)
+ .short L(SSE11Q7)-L(SSE0Q0)
+ .short L(SSE12Q7)-L(SSE0Q0)
+ .short L(SSE13Q7)-L(SSE0Q0)
+ .short L(SSE14Q7)-L(SSE0Q0)
+ .short L(SSE15Q7)-L(SSE0Q0)
+
+ .short L(SSE0Q8) -L(SSE0Q0)
+ .short L(SSE1Q8) -L(SSE0Q0)
+ .short L(SSE2Q8) -L(SSE0Q0)
+ .short L(SSE3Q8) -L(SSE0Q0)
+ .short L(SSE4Q8) -L(SSE0Q0)
+ .short L(SSE5Q8) -L(SSE0Q0)
+ .short L(SSE6Q8) -L(SSE0Q0)
+ .short L(SSE7Q8) -L(SSE0Q0)
+
+ .short L(SSE8Q8) -L(SSE0Q0)
+ .short L(SSE9Q8) -L(SSE0Q0)
+ .short L(SSE10Q8)-L(SSE0Q0)
+ .short L(SSE11Q8)-L(SSE0Q0)
+ .short L(SSE12Q8)-L(SSE0Q0)
+ .short L(SSE13Q8)-L(SSE0Q0)
+ .short L(SSE14Q8)-L(SSE0Q0)
+ .short L(SSE15Q8)-L(SSE0Q0)
+
+ .short L(SSE0Q9) -L(SSE0Q0)
+ .short L(SSE1Q9) -L(SSE0Q0)
+ .short L(SSE2Q9) -L(SSE0Q0)
+ .short L(SSE3Q9) -L(SSE0Q0)
+ .short L(SSE4Q9) -L(SSE0Q0)
+ .short L(SSE5Q9) -L(SSE0Q0)
+ .short L(SSE6Q9) -L(SSE0Q0)
+ .short L(SSE7Q9) -L(SSE0Q0)
+
+ .short L(SSE8Q9) -L(SSE0Q0)
+ .short L(SSE9Q9) -L(SSE0Q0)
+ .short L(SSE10Q9)-L(SSE0Q0)
+ .short L(SSE11Q9)-L(SSE0Q0)
+ .short L(SSE12Q9)-L(SSE0Q0)
+ .short L(SSE13Q9)-L(SSE0Q0)
+ .short L(SSE14Q9)-L(SSE0Q0)
+ .short L(SSE15Q9)-L(SSE0Q0)
+
+ .short L(SSE0QA) -L(SSE0Q0)
+ .short L(SSE1QA) -L(SSE0Q0)
+ .short L(SSE2QA) -L(SSE0Q0)
+ .short L(SSE3QA) -L(SSE0Q0)
+ .short L(SSE4QA) -L(SSE0Q0)
+ .short L(SSE5QA) -L(SSE0Q0)
+ .short L(SSE6QA) -L(SSE0Q0)
+ .short L(SSE7QA) -L(SSE0Q0)
+
+ .short L(SSE8QA) -L(SSE0Q0)
+ .short L(SSE9QA) -L(SSE0Q0)
+ .short L(SSE10QA)-L(SSE0Q0)
+ .short L(SSE11QA)-L(SSE0Q0)
+ .short L(SSE12QA)-L(SSE0Q0)
+ .short L(SSE13QA)-L(SSE0Q0)
+ .short L(SSE14QA)-L(SSE0Q0)
+ .short L(SSE15QA)-L(SSE0Q0)
+
+ .short L(SSE0QB) -L(SSE0Q0)
+ .short L(SSE1QB) -L(SSE0Q0)
+ .short L(SSE2QB) -L(SSE0Q0)
+ .short L(SSE3QB) -L(SSE0Q0)
+ .short L(SSE4QB) -L(SSE0Q0)
+ .short L(SSE5QB) -L(SSE0Q0)
+ .short L(SSE6QB) -L(SSE0Q0)
+ .short L(SSE7QB) -L(SSE0Q0)
+
+ .short L(SSE8QB) -L(SSE0Q0)
+ .short L(SSE9QB) -L(SSE0Q0)
+ .short L(SSE10QB)-L(SSE0Q0)
+ .short L(SSE11QB)-L(SSE0Q0)
+ .short L(SSE12QB)-L(SSE0Q0)
+ .short L(SSE13QB)-L(SSE0Q0)
+ .short L(SSE14QB)-L(SSE0Q0)
+ .short L(SSE15QB)-L(SSE0Q0)
#endif
.popsection