Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site isieng.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!houxm!vax135!cornell!uw-beaver!tektronix!hplabs!pesnta!greipa!decwrl!sun!qubix!wjvax!isieng!wendyt From: wendyt@isieng.UUCP (Wendy Thrash) Newsgroups: net.lang.c Subject: Re: Can C default to float? Are there floating registers? Message-ID: <157@isieng.UUCP> Date: Fri, 27-Sep-85 18:21:31 EDT Article-I.D.: isieng.157 Posted: Fri Sep 27 18:21:31 1985 Date-Received: Wed, 2-Oct-85 07:20:06 EDT References: <175@mit-bug.UUCP>, <6000006@mirror.UUCP> Organization: Integrated Solutions, San Jose, CA Lines: 19 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.