Can C default to float? Are there floating registers?

Wendy Thrash wendyt at isieng.UUCP
Sat Sep 28 08:21:31 AEST 1985


Ken Turkowski @ CADLINC, Menlo Park, CA writes:
> On machines such as the 68000 that have separate address and data
> register sets, the C compiler doesn't normally distinguish between the
> two when allocating them....

Rich $alz at Mirror Systems replies:
> Sorry, Ken.  If the C compiler is based on PCC, as most of them are, then:
>	"The machine is assumed to have a number of
>	registers, of at most two different types:  A and B...."

Vanilla SU numbers and sucomp() do not adequately describe different types of
registers;  resulting schemes for register allocation and evaluation order are
generally either very conservative or very easy to break;  some compilers
(including a couple I've worked on and, I believe, Sun's) extend the SU notion
to ordered n-tuples.  I've found getting register allocation correct to be the
main problem in modifying our compilers for the 68881.

The 4.2 f77 optimizer seems fairly single-minded in its belief that there is
only one kind of register, by the way -- a bigger pain than ccom/f1.



More information about the Comp.lang.c mailing list