This is the mail archive of the gcc@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]

Re: complex support on alpha


	egcs on alpha-dec-osf4.0 fails to generate correct code for
	gcc.c-torture/execute/complex-5.c 
	in the testsuite, because gcc does not calculate correctly the number of
	registers needed for 'float __complex__'.  Instead of 2 registers, gcc
	says only one register is needed. 

It has been broken ever since the initial implementation.  There is a general
problem that __complex__ X fails if X is half the word size or smaller.
For instance, __complex__ short will fail on any 32 bit machine in the same
way that __complex__ float fails on the alpha.  It would be nice to see this
fixed.

Hopefully it can be fixed in a way that doesn't require changes to
every target.  If the alpha.h file requires fixes to make __complex__ float
work, then that implies that every tm.h file needs fixes to fix the general
__complex__ problem.

Jim


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