about summary refs log tree commit diff
path: root/sysdeps/x86_64/bits
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2009-07-10 12:04:14 -0700
committerUlrich Drepper <drepper@redhat.com>2009-07-10 12:04:14 -0700
commitb0ecde3a63fd3e987137aa9eb76da3b556b14559 (patch)
tree9ec97c379f41fcb36164d03ee5b852e1b3f1e59f /sysdeps/x86_64/bits
parent786b74f41a076ac67b5d4fe59ab26e55745095df (diff)
downloadglibc-b0ecde3a63fd3e987137aa9eb76da3b556b14559.tar.gz
glibc-b0ecde3a63fd3e987137aa9eb76da3b556b14559.tar.xz
glibc-b0ecde3a63fd3e987137aa9eb76da3b556b14559.zip
Add AVX support to ld.so auditing for x86-64.
Diffstat (limited to 'sysdeps/x86_64/bits')
-rw-r--r--sysdeps/x86_64/bits/link.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/x86_64/bits/link.h b/sysdeps/x86_64/bits/link.h
index 5676b78753..643a293bb0 100644
--- a/sysdeps/x86_64/bits/link.h
+++ b/sysdeps/x86_64/bits/link.h
@@ -65,10 +65,19 @@ __END_DECLS
 /* Registers for entry into PLT on x86-64.  */
 # if __GNUC_PREREQ (4,0)
 typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
+typedef float La_x86_64_ymm __attribute__ ((__vector_size__ (32)));
 # else
 typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
 # endif
 
+typedef union
+{
+# if __GNUC_PREREQ (4,0)
+  La_x86_64_ymm ymm[2];
+# endif
+  La_x86_64_xmm xmm[4];
+} La_x86_64_vector __attribute__ ((aligned(16)));
+
 typedef struct La_x86_64_regs
 {
   uint64_t lr_rdx;
@@ -80,6 +89,7 @@ typedef struct La_x86_64_regs
   uint64_t lr_rbp;
   uint64_t lr_rsp;
   La_x86_64_xmm lr_xmm[8];
+  La_x86_64_vector lr_vector[8];
 } La_x86_64_regs;
 
 /* Return values for calls from PLT on x86-64.  */
@@ -91,6 +101,8 @@ typedef struct La_x86_64_retval
   La_x86_64_xmm lrv_xmm1;
   long double lrv_st0;
   long double lrv_st1;
+  La_x86_64_vector lrv_vector0;
+  La_x86_64_vector lrv_vector1;
 } La_x86_64_retval;