Skip to content

Commit 2aa705e

Browse files
committed
disable multiply by scalar long on x86
1 parent 9e3970c commit 2aa705e

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/coreclr/jit/hwintrinsicxarch.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3356,6 +3356,14 @@ GenTree* Compiler::impSpecialIntrinsic(NamedIntrinsic intrinsic,
33563356
argType = JITtype2varType(strip(info.compCompHnd->getArgType(sig, arg1, &argClass)));
33573357
op1 = getArgForHWIntrinsic(argType, argClass);
33583358

3359+
#if defined(TARGET_X86)
3360+
if (varTypeIsLong(op1->gtType) || varTypeIsLong(op2->gtType))
3361+
{
3362+
// We can only handle long in vectors on x86. If one of the operands is scalar, fall back to managed.
3363+
break;
3364+
}
3365+
#endif // TARGET_X86
3366+
33593367
retNode = gtNewSimdBinOpNode(GT_MUL, retType, op1, op2, simdBaseJitType, simdSize);
33603368
break;
33613369
}

0 commit comments

Comments
 (0)