<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Verdana" size="2"><span style="font-size:10pt;">
<div>Hi,</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div>I will appreciate if you can review the following patch (I can do the commit).</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div>In X86ISelLowering.cpp in the function PerformSTORECombine() there is the CODE BELOW.</div>
<div>The code first generates a type WideVecVT, then creates a node for this type and only after that checks if WideVecVT is a legal type.</div>
<div>I switched the code so the check is done before the redundant node is created.</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div>    // Create a type on which we perform the shuffle</div>
<div>    EVT WideVecVT = EVT::getVectorVT(*DAG.getContext(),</div>
<div>            StVT.getScalarType(), NumElems*SizeRatio);</div>
<div> </div>
<div>    assert(WideVecVT.getSizeInBits() == VT.getSizeInBits());</div>
<div> </div>
<div>    SDValue WideVec = DAG.getNode(ISD::BITCAST, dl, WideVecVT, St->getValue());</div>
<div>    SmallVector<int, 8> ShuffleVec(NumElems * SizeRatio, -1);</div>
<div>    for (unsigned i = 0; i < NumElems; i++ ) ShuffleVec[i] = i * SizeRatio;</div>
<div> </div>
<div>    // Can't shuffle using an illegal type</div>
<div>    if (!TLI.isTypeLegal(WideVecVT)) return SDValue();</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div>Regards, Anat</div>
<div> </div>
<div> </div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
</span></font>
<font face="monospace">---------------------------------------------------------------------<br>
Intel Israel (74) Limited<br>
<br>
This e-mail and any attachments may contain confidential material for<br>
the sole use of the intended recipient(s). Any review or distribution<br>
by others is strictly prohibited. If you are not the intended<br>
recipient, please contact the sender and delete all copies.</font></body>
</html>