[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Wed Feb 10 18:50:14 CET 2010
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 10/02/10 18:50:14
Modified files:
cm3/m3-sys/m3back/src/: M3x86Rep.i3 Stackx86.m3
Log message:
correctly convert Int32 to Int64 using CDQ instruction: convert
double to quad; it's inefficient because CDQ only operates
on EDX:EAX pair
we already correctly convert Word32 to Word64 via allocating
and zeroing another register
truncation conversions we throw out the upper registers
(after wastefully forcing the value into registers)
still to consider: range checks and unsigned<=>signed conversion
There are many error cases here.
Perhaps the frontend already deals with it?
More information about the M3commit
mailing list