Author: zoltan
Date: 2005-04-15 18:21:35 -0400 (Fri, 15 Apr 2005)
New Revision: 43084
Modified:
branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/ChangeLog
branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-amd64.c
branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-amd64.h
branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-codegen.c
Log:
2005-04-16 Zoltan Varga <[EMAIL PROTECTED]>
* mini-codegen.c (alloc_int_reg): Fix bug in preferred register
allocation.
* mini-amd64.c (mono_arch_emit_this_vret_args): Fix warning.
* mini-amd64.h (MONO_ARCH_INST_IS_REGPAIR_REG2): Add macros needed
by the new allocator.
Modified: branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/ChangeLog
===================================================================
--- branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/ChangeLog
2005-04-15 21:56:41 UTC (rev 43083)
+++ branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/ChangeLog
2005-04-15 22:21:35 UTC (rev 43084)
@@ -1,5 +1,15 @@
+2005-04-16 Zoltan Varga <[EMAIL PROTECTED]>
+
+ * mini-codegen.c (alloc_int_reg): Fix bug in preferred register
+ allocation.
+
+ * mini-amd64.c (mono_arch_emit_this_vret_args): Fix warning.
+
+ * mini-amd64.h (MONO_ARCH_INST_IS_REGPAIR_REG2): Add macros needed
+ by the new allocator.
+
2005-04-15 Zoltan Varga <[EMAIL PROTECTED]>
-
+
* linear-scan.c (mono_linear_scan): Only enable the temporary->regvar
optimization if using the new allocator.
Modified: branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-amd64.c
===================================================================
--- branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-amd64.c
2005-04-15 21:56:41 UTC (rev 43083)
+++ branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-amd64.c
2005-04-15 22:21:35 UTC (rev 43084)
@@ -4660,7 +4660,6 @@
{
MonoCallInst *call = (MonoCallInst*)inst;
int out_reg = param_regs [0];
- guint64 regpair;
if (vt_reg != -1) {
CallInfo * cinfo = get_call_info (inst->signature, FALSE);
Modified: branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-amd64.h
===================================================================
--- branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-amd64.h
2005-04-15 21:56:41 UTC (rev 43083)
+++ branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-amd64.h
2005-04-15 22:21:35 UTC (rev 43084)
@@ -87,7 +87,7 @@
#define MONO_ARCH_CALLEE_SAVED_REGS AMD64_CALLEE_SAVED_REGS
/* Setting this to FALSE means using SSE2 instructions for fp arithmetic */
-#define MONO_ARCH_USE_FPSTACK FALSE
+#define MONO_ARCH_USE_FPSTACK TRUE
#define MONO_ARCH_FPSTACK_SIZE 6
#define MONO_ARCH_INST_FIXED_REG(desc) ((desc == 's') ? AMD64_RCX : ((desc ==
'a') ? AMD64_RAX : ((desc == 'd') ? AMD64_RDX : -1)))
@@ -96,6 +96,7 @@
#define MONO_ARCH_INST_SREG2_MASK(ins) (((ins [MONO_INST_CLOB] == 'a') || (ins
[MONO_INST_CLOB] == 'd')) ? (1 << AMD64_RDX) : 0)
#define MONO_ARCH_INST_IS_REGPAIR(desc) FALSE
+#define MONO_ARCH_INST_IS_REGPAIR_REG2(desc,hreg1) (-1)
#define MONO_ARCH_FRAME_ALIGNMENT 16
Modified: branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-codegen.c
===================================================================
--- branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-codegen.c
2005-04-15 21:56:41 UTC (rev 43083)
+++ branches/vargaz/mini-xp-local-regalloc/mono/mono/mini/mini-codegen.c
2005-04-15 22:21:35 UTC (rev 43084)
@@ -483,7 +483,7 @@
int val;
if (info && info->preferred_mask) {
- val = mono_regstate_alloc_int (cfg->rs, info->preferred_mask);
+ val = mono_regstate_alloc_int (cfg->rs, info->preferred_mask &
dest_mask);
if (val >= 0) {
DEBUG (g_print ("\tallocated preferred reg R%d to
%s\n", sym_reg, mono_arch_regname (val)));
return val;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches