assert(oper == GT_OR || oper == GT_XOR || oper == GT_AND || oper == GT_ADD || oper == GT_SUB);
#else // !defined(_TARGET_64BIT_)
assert(oper == GT_OR || oper == GT_XOR || oper == GT_AND || oper == GT_ADD_LO || oper == GT_ADD_HI ||
- oper == GT_SUB_LO || oper == GT_SUB_HI || oper == GT_MUL_LONG || oper == GT_DIV_HI || oper == GT_MOD_HI ||
- oper == GT_ADD || oper == GT_SUB);
+ oper == GT_SUB_LO || oper == GT_SUB_HI || oper == GT_ADD || oper == GT_SUB);
#endif // !defined(_TARGET_64BIT_)
GenTreePtr op1 = treeNode->gtGetOp1();
case GT_SUB:
return GT_SUB_HI;
break;
- case GT_DIV:
- return GT_DIV_HI;
- break;
- case GT_MOD:
- return GT_MOD_HI;
- break;
case GT_OR:
return GT_OR;
break;
}
#endif // _TARGET_XARCH_
-#if !defined(LEGACY_BACKEND) && !defined(_TARGET_64BIT_)
- static bool OperIsHigh(genTreeOps gtOper)
- {
- switch (gtOper)
- {
- case GT_ADD_HI:
- case GT_SUB_HI:
- case GT_DIV_HI:
- case GT_MOD_HI:
- return true;
- default:
- return false;
- }
- }
-
- bool OperIsHigh() const
- {
- return OperIsHigh(OperGet());
- }
-#endif // !defined(LEGACY_BACKEND) && !defined(_TARGET_64BIT_)
-
static bool OperIsUnary(genTreeOps gtOper)
{
return (OperKind(gtOper) & GTK_UNOP) != 0;
GTNODE(ADD_HI , GenTreeOp ,1,GTK_BINOP)
GTNODE(SUB_LO , GenTreeOp ,0,GTK_BINOP)
GTNODE(SUB_HI , GenTreeOp ,0,GTK_BINOP)
-GTNODE(DIV_HI , GenTreeOp ,0,GTK_BINOP)
-GTNODE(MOD_HI , GenTreeOp ,0,GTK_BINOP)
// A mul that returns the 2N bit result of an NxN multiply. This op is used for
// multiplies that take two ints and return a long result. All other multiplies