From 6986b98a18490e76b16911d1c6b1ba013598d40d Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 20 Jul 2011 14:20:00 -0400 Subject: [PATCH] Force :a_x86_64_ymm to be 16-byte aligned --- ChangeLog | 4 ++++ sysdeps/x86_64/bits/link.h | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2f52037..593dddd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-07-20 Ulrich Drepper + + * sysdeps/x86_64/bits/link.h (La_x86_64_ymm): Force 16-byt alignment. + 2011-07-09 Andreas Schwab * sysdeps/unix/sysv/linux/pathconf.c: Include . diff --git a/sysdeps/x86_64/bits/link.h b/sysdeps/x86_64/bits/link.h index 643a293..14cc92b 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 { -- 2.7.4