Use emitFltOrDblConst in genIntToFloatCast
authorMike Danes <onemihaid@hotmail.com>
Sat, 28 Oct 2017 07:48:09 +0000 (10:48 +0300)
committerMike Danes <onemihaid@hotmail.com>
Sat, 28 Oct 2017 07:48:09 +0000 (10:48 +0300)
src/jit/codegen.h
src/jit/codegenxarch.cpp

index 879ee7bfa68ba088f2f69dd21b3845cef2519510..d0eed0e01f61530337581925d047b28499cbe006 100644 (file)
@@ -62,7 +62,7 @@ private:
     GenTreePtr absBitmaskDbl;
 
     // Bit mask used in U8 -> double conversion to adjust the result.
-    GenTreePtr u8ToDblBitmask;
+    CORINFO_FIELD_HANDLE u8ToDblBitmask;
 
     // Generates SSE2 code for the given tree as "Operand BitWiseOp BitMask"
     void genSSE2BitwiseOp(GenTreePtr treeNode);
index a4b25a99f9f46bbbb77edc3dcc15612c3d173995..a0274f5186b88c8798cca99cf7cda106da4172d5 100644 (file)
@@ -6921,16 +6921,16 @@ void CodeGen::genIntToFloatCast(GenTreePtr treeNode)
         // Adjust the result
         // result = result + 0x43f00000 00000000
         // addsd resultReg,  0x43f00000 00000000
-        GenTreePtr* cns = &u8ToDblBitmask;
+        CORINFO_FIELD_HANDLE* cns = &u8ToDblBitmask;
         if (*cns == nullptr)
         {
             double d;
             static_assert_no_msg(sizeof(double) == sizeof(__int64));
             *((__int64*)&d) = 0x43f0000000000000LL;
 
-            *cns = genMakeConst(&d, dstType, treeNode, true);
+            *cns = getEmitter()->emitFltOrDblConst(d, EA_8BYTE);
         }
-        inst_RV_TT(INS_addsd, treeNode->gtRegNum, *cns);
+        getEmitter()->emitIns_R_C(INS_addsd, EA_8BYTE, treeNode->gtRegNum, *cns, 0);
 
         genDefineTempLabel(label);
     }