<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Anyone have any thoughts on how to implement LONGINT on NT386?<BR>
<BR>
<BR>The code is setup to do pretty good constant folding and enregistration.<BR>
<BR>
<BR>I did the work so that constant folding should work for LONGINT.<BR>
<BR>
<BR>However I think doing good enregistration is maybe still<BR>too much work. In particular, I think every LONGINT<BR>operation will do a load, operation, store.<BR>Typical of unoptimized code, but not typical<BR>of the Modula-3/NT386 quality.<BR>
<BR> <BR>
In particular, there is still this notion of an "operand"<BR>that might be held in one register.<BR>
<BR> <BR>
I'd have to make it a register pair, or array of registers,<BR>or invent "psuedo registers" that are register pairs.<BR>An array of registers is the obvious best choice, but<BR>none of these are a small change.<BR>
<BR>
<BR>96 occurences of "reg" in Stackx86.m3, 58 in M3x86.m3,<BR>would probably all have to change.<BR>63 in Codex86.m3 unsure.<BR> It is the lowest level and might need to only deal with single<BR> registers.<BR>
<BR> <BR>
Returning LONGINT from a function also needs separate attention.<BR>
Maybe I really should go ahead and use an array of registers?<BR>
<BR>
<BR> - Jay<BR><BR> </body>
</html>