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 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!


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