void foo() { double x; long double y; bar(&x, &y); } lda $17,24($30) Note that 24 is not a multiple of 16. This problem appears for alpha-osf5 or elsewhere with -mlong-double-128. Patch in progress...
Patch: http://gcc.gnu.org/ml/gcc-patches/2004-03/msg00986.html
Subject: Bug 14539 CVSROOT: /cvs/gcc Module name: gcc Changes by: rth@gcc.gnu.org 2004-03-11 23:46:56 Modified files: gcc : ChangeLog gcc/config/alpha: alpha.h Log message: PR target/14539 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.3141&r2=2.3142 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha.h.diff?cvsroot=gcc&r1=1.217&r2=1.218
Subject: Bug 14539 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: rth@gcc.gnu.org 2004-03-11 23:52:59 Modified files: gcc : ChangeLog gcc/config/alpha: alpha.h Log message: PR target/14539 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.930&r2=1.16114.2.931 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.185.4.3&r2=1.185.4.4
Subject: Re: 128-bit long double improperly aligned rth at gcc dot gnu dot org wrote: > ------- Additional Comments From rth at gcc dot gnu dot org 2004-03-11 23:44 ------- > Patch: http://gcc.gnu.org/ml/gcc-patches/2004-03/msg00986.html OK for 3.4.
Subject: Bug 14539 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_4-branch Changes by: rth@gcc.gnu.org 2004-03-12 05:50:23 Modified files: gcc : ChangeLog gcc/config/alpha: alpha.h Log message: PR target/14539 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.333&r2=2.2326.2.334 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.213.2.4&r2=1.213.2.5
Fixed.