This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/13559] New: GCC generates more code that doesn't conform to the SPARC 64-bit psABI
- From: "kettenis at gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Jan 2004 21:34:00 -0000
- Subject: [Bug c/13559] New: GCC generates more code that doesn't conform to the SPARC 64-bit psABI
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following code:
struct sfi { float f; int i; int j; };
struct sfi xfi = { 1.0, 1, 2 };
struct sfc
foo (void)
{
return xfi;
}
Generates code that is different than the psABI specifies. The contents of
xfi.f and xfi.i are correctly returned in %i0/%o0 (calle/caller), but xfi.j is
returned in the right half (less-significant word) of %i1/%o1 wheras according
to the psABI it should be returned in the left half (more-significant word).
The latter is indeed what the Sun compiler on Solaris does.
--
Summary: GCC generates more code that doesn't conform to the
SPARC 64-bit psABI
Product: gcc
Version: 3.3.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kettenis at gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: sparc64-unknown-freebsd5.2
GCC host triplet: sparc64-unknown-freebsd5.2
GCC target triplet: sparc64-unknown-freebsd5.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13559