This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c/7227: [<3.2/3.3> regression]: bogus code generation with attribute mode TI
- From: "Christian Ehrhardt" <ehrhardt at mathematik dot uni-ulm dot de>
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, ghazi at caip dot rutgers dot edu, nobody at gcc dot gnu dot org
- Date: Mon, 16 Dec 2002 00:42:13 +0100
- Subject: Re: c/7227: [<3.2/3.3> regression]: bogus code generation with attribute mode TI
- References: <20021215164424.14270.qmail@sources.redhat.com>
On Sun, Dec 15, 2002 at 04:44:24PM -0000, ehrhardt@mathematik.uni-ulm.de wrote:
> Old Synopsis: [3.3 regression]: bogus uninitialized variable warning with attribute mode TI
> New Synopsis: [<3.2/3.3> regression]: bogus code generation with attribute mode TI
This mail didn't get all the info I wanted to provide.
Somewhere between 3.2-release and current cvs (3.2 and 3.3) optimization
with when TImode integers are involved was broken. This code
int f (__attribute__ ((mode (TI))) int a)
{
__attribute__ ((mode (TI))) int w;
w = a+1;
return w;
}
Is compiled into this asm code on sparc:
f:
!#PROLOGUE# 0
!#PROLOGUE# 1
mov 0, %o5
retl
mov %o5, %o0
.size f, .-f
.ident "GCC: (GNU) 3.3 20021204 (experimental)"
This code is obviously too short.
This gives an ICE instead, I'll probably open a differen report for this
though:
__attribute__ ((mode (TI))) int f (__attribute__ ((mode (TI))) int a)
{
}
regards Christian
--
THAT'S ALL FOLKS!