* mini-x86.c (mono_arch_output_basic_block): Fix % 1. Fixes #550970.
* basic.cs: Add a test.
svn path=/trunk/mono/; revision=145017
2009-10-29 Zoltan Varga <vargaz@gmail.com>
+ * mini-x86.c (mono_arch_output_basic_block): Fix % 1. Fixes #550970.
+
+ * basic.cs: Add a test.
+
* method-to-ir.c (mono_method_to_ir): Use EMIT_NEW_LOAD_MEMBASE_TYPE to
load vtypes instead if OP_LOADV_MEMBASE in the implementation of
CONSTRAINED. Fixes #550964.
return b % 1;
}
+ public static int test_0_rem_imm_0_neg () {
+ int b = -2;
+ return b % 1;
+ }
+
public static int test_4_rem_big_imm () {
int b = 10004;
return b % 10000;
*/
x86_alu_reg_reg (code, X86_XOR, X86_EAX, X86_EDX);
x86_alu_reg_reg (code, X86_SUB, X86_EAX, X86_EDX);
+ } else if (power == 0) {
+ x86_alu_reg_reg (code, X86_XOR, ins->dreg, ins->dreg);
} else {
/* Based on gcc code */