This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c/7227: [<3.2/3.3> regression]: bogus code generation with attribute mode TI


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]