complex support on alpha
Jim Wilson
wilson@cygnus.com
Thu Oct 2 20:35:00 GMT 1997
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
More information about the Gcc
mailing list