Related articles |
---|
Register Files storm@binkley.cs.mcgill.ca (1992-10-05) |
Re: Register Files preston@helena.cs.rice.edu (1992-10-05) |
Re: Register Files ssimmons@convex.com (1992-10-06) |
Re: Register Files cliffc@cs.rice.edu (1992-10-06) |
Re: Register Files hobbs@steven.enet.dec.com (1992-10-06) |
Re: Register Files kendall@centerline.com (1992-10-07) |
Re: Register Files bart@cs.uoregon.edu (1992-10-07) |
Re: Register Files henry@zoo.toronto.edu (1992-10-07) |
Re: Register Files ali@LARK.WARP.CS.CMU.EDU (Ali-Reza Adl-Tabatabai) (1992-10-22) |
Re: Register Files idacrd!desj@uunet.UU.NET (1992-10-23) |
Newsgroups: | comp.compilers |
From: | kendall@centerline.com (Sam Kendall) |
Organization: | CenterLine Software, Inc. |
Date: | Wed, 7 Oct 1992 07:42:00 GMT |
References: | 92-10-013 92-10-024 |
Keywords: | registers, optimize |
Steve Hobbs writes:
A more interesting question is why doesn't the Alpha AXP architecture
have any instructions that transfer values directly between the split
register sets.... Transfers between registers banks are not all that
common and increasing the speed of other operations even a small
percentage justifies this decision.
Interesting! SPARC also lacks instructions to transfer between integer
and float registers. For the same reason?
Oddly, on SPARC, floating values are passed to functions, and returned
from functions, in integer registers. This means that for a value to
get from a float register in the caller, to a float register in the
callee, requires that the value pass as follows:
function call
float register -> memory -> integer register ---------------->
reg window shift
integer register -> memory -> float register
Was the SPARC calling convention done this way to keep it simple (since
float registers are not windowed), even at the expense of performance,
or is there another explanation?
----
Sam Kendall
CenterLine Software, Inc. (formerly Saber Software)
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.