Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!decwrl!alverson From: alverson@decwrl.dec.com (Robert Alverson) Newsgroups: comp.arch Subject: Re: separate integer and float registers Message-ID: <705@bacchus.DEC.COM> Date: 14 Aug 88 22:38:51 GMT References: <2724@wright.mips.COM> <56@radix> Reply-To: alverson@decwrl.UUCP (Robert Alverson) Organization: Digital Equipment Corporation Lines: 19 >In article <2724@wright.mips.COM> earl@mips.COM (Earl Killian) asks why >the Motorola 88100 makes the floating-point and integer registers the >same. I can't help there, but I can point out some of the advantages >found in the Intel 80960 which also has floating-point operations that >operate on the general (integer) registers. > One unfortunate aspect of separate fp and integer registers shows up with varargs parameter passing. Given that you want to pass parameters in registers in optimized code, it seems that any call to a varargs procedure must be detected, and any fp parameters passed in integer registers. In the absence of the ability to detect varargs procedures (old style C), you may be forced to always pass fp values via integer registers. In truth, this is probably a better argument against varargs than for unified register file. Unfortunately, varargs are here to stay for a while, at least. Bob - alverson@decwrl.dec.com