aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-07-20 14:20:00 -0400
committerAndreas Schwab <schwab@redhat.com>2011-07-21 12:53:27 +0200
commit1390c85454f89134a4329b383a3582a0e14d2f50 (patch)
treec422d36dd4cc2b423216a153c1bf998a406aa42c
parent6e23b0ab48e7e91bd5e1f691811a968f864d072d (diff)
downloadglibc-1390c85454f89134a4329b383a3582a0e14d2f50.tar
glibc-1390c85454f89134a4329b383a3582a0e14d2f50.tar.gz
glibc-1390c85454f89134a4329b383a3582a0e14d2f50.tar.bz2
glibc-1390c85454f89134a4329b383a3582a0e14d2f50.zip
Force :a_x86_64_ymm to be 16-byte aligned
(cherry picked from commit 6986b98a18490e76b16911d1c6b1ba013598d40d)
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/x86_64/bits/link.h7
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ea8e0f274c..36ddde77f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-07-20 Ulrich Drepper <drepper@gmail.com>
+
+ * sysdeps/x86_64/bits/link.h (La_x86_64_ymm): Force 16-byte alignment.
+
2011-07-20 Andreas Schwab <schwab@redhat.com>
* resolv/res_query.c (__libc_res_nquerydomain): Use size_t for
diff --git a/sysdeps/x86_64/bits/link.h b/sysdeps/x86_64/bits/link.h
index 643a293bb0..14cc92b145 100644
--- a/sysdeps/x86_64/bits/link.h
+++ b/sysdeps/x86_64/bits/link.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2009, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -65,7 +65,8 @@ __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)));
+typedef float La_x86_64_ymm
+ __attribute__ ((__vector_size__ (32), __aligned__ (16)));
# else
typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
# endif
@@ -76,7 +77,7 @@ typedef union
La_x86_64_ymm ymm[2];
# endif
La_x86_64_xmm xmm[4];
-} La_x86_64_vector __attribute__ ((aligned(16)));
+} La_x86_64_vector __attribute__ ((__aligned__ (16)));
typedef struct La_x86_64_regs
{