Skip to content

Commit

Permalink
Zero upper 4 bytes of the second operand of Vector3.Dot() in LowerHWI…
Browse files Browse the repository at this point in the history
…ntrinsicDot() on Arm64 (#57328)
  • Loading branch information
echesakov authored Aug 13, 2021
1 parent d67efc5 commit 134c25d
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/coreclr/jit/lowerarmarch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1190,6 +1190,17 @@ void Lowering::LowerHWIntrinsicDot(GenTreeHWIntrinsic* node)
op1 = comp->gtNewSimdAsHWIntrinsicNode(simdType, op1, idx, tmp1, NI_AdvSimd_Insert, simdBaseJitType, simdSize);
BlockRange().InsertAfter(tmp1, op1);
LowerNode(op1);

idx = comp->gtNewIconNode(0x03, TYP_INT);
BlockRange().InsertAfter(op2, idx);

tmp2 = comp->gtNewZeroConNode(TYP_FLOAT);
BlockRange().InsertAfter(idx, tmp2);
LowerNode(tmp2);

op2 = comp->gtNewSimdAsHWIntrinsicNode(simdType, op2, idx, tmp2, NI_AdvSimd_Insert, simdBaseJitType, simdSize);
BlockRange().InsertAfter(tmp2, op2);
LowerNode(op2);
}

// We will be constructing the following parts:
Expand Down

0 comments on commit 134c25d

Please sign in to comment.