Bug 14539 - 128-bit long double improperly aligned
Summary: 128-bit long double improperly aligned
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.4.0
: P2 normal
Target Milestone: 3.3.4
Assignee: Richard Henderson
URL:
Keywords: patch, wrong-code
Depends on:
Blocks:
 
Reported: 2004-03-11 23:28 UTC by Richard Henderson
Modified: 2004-03-12 05:51 UTC (History)
2 users (show)

See Also:
Host:
Target: alpha*-*-*
Build:
Known to work:
Known to fail:
Last reconfirmed: 2004-03-12 01:01:40


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Henderson 2004-03-11 23:28:23 UTC
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...
Comment 1 Richard Henderson 2004-03-11 23:44:39 UTC
Patch: http://gcc.gnu.org/ml/gcc-patches/2004-03/msg00986.html
Comment 2 GCC Commits 2004-03-11 23:46:58 UTC
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

Comment 3 GCC Commits 2004-03-11 23:53:02 UTC
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

Comment 4 Mark Mitchell 2004-03-12 02:41:21 UTC
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.

Comment 5 GCC Commits 2004-03-12 05:50:25 UTC
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

Comment 6 Richard Henderson 2004-03-12 05:51:18 UTC
Fixed.