@@ -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