Fix long standing cast problem that truncated doubles
authorNeale Ferguson <neale@sinenomine.net>
Fri, 13 Apr 2012 19:53:02 +0000 (15:53 -0400)
committerNeale Ferguson <neale@sinenomine.net>
Fri, 13 Apr 2012 20:10:51 +0000 (16:10 -0400)
mono/mini/mini-s390x.c

index 67fbe4b44a81d677838d440aefe18a5aabf3f47f..25984f8b9824be16cbffa1572277a691fe1678a0 100644 (file)
@@ -4518,7 +4518,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
 
                /* floating point opcodes */
                case OP_R8CONST: {
-                       if (*((float *) ins->inst_p0) == 0) {
+                       if (*((double *) ins->inst_p0) == 0) {
                                s390_lzdr (code, ins->dreg);
                        } else {
                                s390_basr  (code, s390_r13, 0);