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: Janis Johnson <janis187 at us dot ibm dot com>
- Cc: gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, ghazi at caip dot rutgers dot edu
- Date: Fri, 3 Jan 2003 00:07:50 +0100
- Subject: Re: c/7227: [<3.2/3.3> regression]: bogus code generation with attribute mode TI
- References: <3E14C009.2AFB150D@us.ibm.com>
On Thu, Jan 02, 2003 at 02:41:13PM -0800, Janis Johnson wrote:
> Why is the class "wrong-code" and the the synopsis "bogus
> code generation" when in fact it's an incorrect warning,
> not incorrect code?
Because the warning is actually correct for the generated asm code, i.e.
the code is wrong. I remember that I changed synopis and class. Unfortunately
this info is missing in the audit trail. Maybe this has something to do
with the full disk problem that gnats had recently. Anyway here's the
relevant info from my sent-mail box:
---- snip -----
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)
{
}
---- snip -----
The new PR for the (most likely unrelated) ICE is 8960.
regards Christian