+2007-03-17 Zoltan Varga <vargaz@gmail.com>
+
+ * inssel.brg (SWITCH): Use an integer comparison. Fixes #80738.
+
+ * basic.cs: Add new regression test.
+
2007-03-17 Zoltan Varga <vargaz@gmail.com>
* mini-ia64.c (mono_arch_emit_prolog): Fix an assert when a function has too
return 0;
}
+
+ public enum RegistryHive
+ {
+ ClassesRoot = -2147483648,
+ Users = -2147483645
+ }
+
+ public static int test_0_regress_switch_minint_80738 () {
+ RegistryHive h = RegistryHive.ClassesRoot;
+
+ switch (h) {
+ case RegistryHive.ClassesRoot:
+ return 0;
+ case RegistryHive.Users:
+ break;
+ }
+
+ return 1;
+ }
}
MONO_NEW_LABEL (s, label);
- MONO_EMIT_NEW_BIALU_IMM (s, OP_COMPARE_IMM, -1, state->left->reg1, n);
- MONO_EMIT_NEW_BRANCH_BLOCK (s, CEE_BGE_UN, tree->inst_many_bb [n]);
+ MONO_EMIT_NEW_BIALU_IMM (s, OP_ICOMPARE_IMM, -1, state->left->reg1, n);
+ MONO_EMIT_NEW_BRANCH_BLOCK (s, OP_IBGE_UN, tree->inst_many_bb [n]);
if (sizeof (gpointer) == 8)
MONO_EMIT_NEW_BIALU_IMM (s, OP_SHL_IMM, offset_reg, state->left->reg1, 3);
else