Skip to content

Commit 982660e

Browse files
committed
Revert "Have Unsafe.Subtract and Unsafe.SubtractByteOffset be intrinsic"
This reverts commit 2301adc.
1 parent 4d91472 commit 982660e

1 file changed

Lines changed: 4 additions & 35 deletions

File tree

src/coreclr/jit/importer.cpp

Lines changed: 4 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4834,8 +4834,8 @@ GenTree* Compiler::impSRCSUnsafeIntrinsic(NamedIntrinsic intrinsic,
48344834
tmp = op2;
48354835
}
48364836

4837-
type = impGetByRefResultType(GT_ADD, /* uns */ false, &op1, &tmp);
4838-
return gtNewOperNode(GT_ADD, type, op1, tmp);
4837+
type = impGetByRefResultType(GT_ADD, /* uns */ false, &tmp, &op1);
4838+
return gtNewOperNode(GT_ADD, type, tmp, op1);
48394839
}
48404840

48414841
case NI_SRCS_UNSAFE_AddByteOffset:
@@ -5139,33 +5139,7 @@ GenTree* Compiler::impSRCSUnsafeIntrinsic(NamedIntrinsic intrinsic,
51395139
// sub
51405140
// ret
51415141

5142-
GenTree* op2 = impPopStack().val;
5143-
GenTree* op1 = impPopStack().val;
5144-
impBashVarAddrsToI(op1, op2);
5145-
5146-
GenTree* tmp = nullptr;
5147-
var_types type = TYP_UNKNOWN;
5148-
5149-
unsigned classSize = info.compCompHnd->getClassSize(sig->sigInst.methInst[0]);
5150-
5151-
if (classSize != 1)
5152-
{
5153-
GenTree* size = gtNewIconNode(classSize, TYP_INT);
5154-
5155-
#ifdef TARGET_64BIT
5156-
size = gtNewCastNode(TYP_I_IMPL, size, /* uns */ false, TYP_I_IMPL);
5157-
#endif
5158-
5159-
type = impGetByRefResultType(GT_MUL, /* uns */ false, &op2, &size);
5160-
tmp = new (this, GT_CALL) GenTreeOp(GT_MUL, type, op2, size DEBUGARG(/* largeNode */ true));
5161-
}
5162-
else
5163-
{
5164-
tmp = op2;
5165-
}
5166-
5167-
type = impGetByRefResultType(GT_SUB, /* uns */ false, &op1, &tmp);
5168-
return gtNewOperNode(GT_SUB, type, op1, tmp);
5142+
return nullptr;
51695143
}
51705144

51715145
case NI_SRCS_UNSAFE_SubtractByteOffset:
@@ -5177,12 +5151,7 @@ GenTree* Compiler::impSRCSUnsafeIntrinsic(NamedIntrinsic intrinsic,
51775151
// sub
51785152
// ret
51795153

5180-
GenTree* op2 = impPopStack().val;
5181-
GenTree* op1 = impPopStack().val;
5182-
impBashVarAddrsToI(op1, op2);
5183-
5184-
var_types type = impGetByRefResultType(GT_SUB, /* uns */ false, &op1, &op2);
5185-
return gtNewOperNode(GT_SUB, type, op1, op2);
5154+
return nullptr;
51865155
}
51875156

51885157
case NI_SRCS_UNSAFE_Unbox:

0 commit comments

Comments
 (0)