[RyuJIT/ARM32] Remove NYI: using zero register
authorHyeongseok Oh <hseok82.oh@samsung.com>
Tue, 1 Aug 2017 01:44:51 +0000 (10:44 +0900)
committerHyeongseok Oh <hseok82.oh@samsung.com>
Tue, 1 Aug 2017 01:44:51 +0000 (10:44 +0900)
We can remove NYI to using zero register to assign constant zero argument.
There is no zero register on ARM32. (src/jit/registerarm32.h)
So we can change the NYI to unreached() assertion.

src/jit/codegenarmarch.cpp

index f40c33c..77d23e4 100644 (file)
@@ -540,13 +540,15 @@ void CodeGen::genPutArgStk(GenTreePutArgStk* treeNode)
         // If it is contained then source must be the integer constant zero
         if (source->isContained())
         {
+#ifdef _TARGET_ARM64_
             assert(source->OperGet() == GT_CNS_INT);
             assert(source->AsIntConCommon()->IconValue() == 0);
-            NYI_ARM("genPutArgStk: contained zero source");
 
-#ifdef _TARGET_ARM64_
             emit->emitIns_S_R(storeIns, storeAttr, REG_ZR, varNumOut, argOffsetOut);
-#endif // _TARGET_ARM64_
+#else  // !_TARGET_ARM64_
+            // There is no zero register on ARM32
+            unreached();
+#endif // !_TARGET_ARM64
         }
         else
         {