From 22ce24ec7f1ea042c56a6531489def81c6fd7b02 Mon Sep 17 00:00:00 2001 From: Sergey Andreenko Date: Thu, 29 Mar 2018 17:11:02 -0700 Subject: [PATCH] add an additional assert for the future --- src/jit/codegenarm.cpp | 6 ++++++ src/jit/emitarm.cpp | 3 +++ src/jit/lower.cpp | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/src/jit/codegenarm.cpp b/src/jit/codegenarm.cpp index 60f11fb..639d259 100644 --- a/src/jit/codegenarm.cpp +++ b/src/jit/codegenarm.cpp @@ -627,9 +627,11 @@ instruction CodeGen::genGetInsForOper(genTreeOps oper, var_types type) case GT_MUL: ins = INS_MUL; break; +#if !defined(USE_HELPERS_FOR_INT_DIV) case GT_DIV: ins = INS_sdiv; break; +#endif // !USE_HELPERS_FOR_INT_DIV case GT_LSH: ins = INS_SHIFT_LEFT_LOGICAL; break; @@ -1090,6 +1092,10 @@ void CodeGen::genCodeForDivMod(GenTreeOp* tree) // on float/double args. noway_assert(tree->OperIs(GT_DIV) || !varTypeIsFloating(tree)); +#if defined(USE_HELPERS_FOR_INT_DIV) + noway_assert(!varTypeIsIntOrI(tree)); +#endif // USE_HELPERS_FOR_INT_DIV + var_types targetType = tree->TypeGet(); regNumber targetReg = tree->gtRegNum; emitter* emit = getEmitter(); diff --git a/src/jit/emitarm.cpp b/src/jit/emitarm.cpp index ca5575a..db6dbdd 100644 --- a/src/jit/emitarm.cpp +++ b/src/jit/emitarm.cpp @@ -2985,8 +2985,11 @@ void emitter::emitIns_R_R_R(instruction ins, } __fallthrough; +#if !defined(USE_HELPERS_FOR_INT_DIV) case INS_sdiv: case INS_udiv: +#endif // !USE_HELPERS_FOR_INT_DIV + assert(insDoesNotSetFlags(flags)); fmt = IF_T2_C5; sf = INS_FLAGS_NOT_SET; diff --git a/src/jit/lower.cpp b/src/jit/lower.cpp index d7fcee6..ba5b1a0 100644 --- a/src/jit/lower.cpp +++ b/src/jit/lower.cpp @@ -4719,6 +4719,10 @@ GenTree* Lowering::LowerConstIntDivOrMod(GenTree* node) const var_types type = divMod->TypeGet(); assert((type == TYP_INT) || (type == TYP_LONG)); +#if defined(USE_HELPERS_FOR_INT_DIV) + unreached(); +#endif // USE_HELPERS_FOR_INT_DIV + if (dividend->IsCnsIntOrI()) { // We shouldn't see a divmod with constant operands here but if we do then it's likely -- 2.7.4