<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
attached<BR>
 <BR>
btw, other than the commit mail, the changelog should have a clickable link.<BR><BR> <BR>> Date: Mon, 1 Mar 2010 13:54:37 +0000<BR>> To: m3commit@elegosoft.com<BR>> From: jkrell@elego.de<BR>> Subject: [M3commit] CVS Update: cm3<BR>> <BR>> CVSROOT: /usr/cvs<BR>> Changes by: jkrell@birch. 10/03/01 13:54:37<BR>> <BR>> Modified files:<BR>> cm3/m3-sys/m3back/src/: Codex86.m3 <BR>> <BR>> Log message:<BR>> work in progress to inline all 64bit shifts (and then rotates)<BR>> the 64bit shift code in particular in the AMD manual is around 6 instruction<BR>> <BR>> however before we do that:<BR>> <BR>> teach unOp about double shift (aka shift by ecx)<BR>> not yet used, as these cases still call functions<BR>> <BR>> split up the double ops into separate functions for readability:<BR>> not_double, add_double, add_double_immediate, etc.<BR>> (not, negate, add, subtract, compare, immediate and not; bigger<BR>> things like multiply/divide generate function calls at a higher level, currently;<BR>> given that our complicated single precision divide was inlined, probably will<BR>> inline that for double, probably multiple too; while the result is bloated,<BR>> I like the idea of reducing hand.c, and longint use on 32bit targets<BR>> maybe ok to bloat?)<BR>> <BR>> also goal to have less duplication of the various logic such<BR>> as left vs. right vs. "signed" shift, the compares to 32, 64, etc.<BR>> at least move the code into fewer functions<BR>> <BR>> also stretch goal is to alter/eliminate the binop/binop1/binopWithShiftCount split<BR>> into something that seems less hoky. Part of the issue is that<BR>> other than oNOT, and separate functions like swapOp, movOp, nothing is really<BR>> "just loop over the parts"<BR>> <BR>                                      </body>
</html>