[Mono-bugs] [Bug 60056][Cri] Changed - BIGMUL does not handle signs correctly

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sat, 12 Jun 2004 00:19:27 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by bmaurer@users.sf.net.

http://bugzilla.ximian.com/show_bug.cgi?id=60056

--- shadow/60056	2004-06-12 00:12:51.000000000 -0400
+++ shadow/60056.tmp.7607	2004-06-12 00:19:27.000000000 -0400
@@ -69,6 +69,47 @@
 
 
 ------- Additional Comments From bmaurer@users.sf.net  2004-06-12 00:12 -------
 nb: 4294967237 == 0xFFFFFFC5. We want 0xFFFFFFFFFFFFFFC5.
 
 I think we need cdq in here somewhere...
+
+------- Additional Comments From bmaurer@users.sf.net  2004-06-12 00:19 -------
+converting method T:Main ()
+creating vars
+creating locals
+locals done
+method to IR T:Main ()
+converting (in B2: stack: 0) IL_0000: ldc.i4.s  -59
+converting (in B2: stack: 1) IL_0002: stloc.1   
+converting (in B2: stack: 0) IL_0003: ldc.i4.1  
+converting (in B2: stack: 1) IL_0004: conv.u8   
+converting (in B2: stack: 1) IL_0005: ldloc.1   
+converting (in B2: stack: 2) IL_0006: conv.i8   
+converting (in B2: stack: 2) IL_0007: mul       
+converting (in B2: stack: 1) IL_0008: call      0x0a000002
+converting (in B2: stack: 0) IL_000d: ret       
+REGION BB0 IL_0000 ID_FFFFFFFF
+REGION BB3 IL_0000 ID_FFFFFFFF
+REGION BB2 IL_000d ID_FFFFFFFF
+REGION BB1 IL_0000 ID_FFFFFFFF
+block merge triggered 3 -> 2
+br removal triggered 3 -> 1
+REGVAR 1 C3 R7
+DUMP BLOCK 0:
+DUMP BLOCK 3:
+ (stind.i8 regoffset[-0x10(%ebp)] i8const[0])
+ (stind.i4 regvar[%edi] iconst[0])
+ (stind.i4 regvar[%edi] iconst[-59])
+ (stind.i8 regoffset[-0x18(%ebp)] (op_bigmul_un iconst[1] (ldind.i4
+regvar[%edi])))
+ (outarg (ldind.i8 regoffset[-0x18(%ebp)]))
+ voidcall[WriteLine]
+ nop
+
+...
+
+  15:	bf 00 00 00 00       	mov    edi,0x0
+  1a:	bf c5 ff ff ff       	mov    edi,0xffffffc5
+  1f:	b8 01 00 00 00       	mov    eax,0x1
+  24:	8b cf                	mov    ecx,edi
+  26:	f7 e1                	mul    ecx