<div dir="ltr">I was looking through the InstCombine pass, and I was wondering why signed division is not considered a valid operation to combine in the canEvaluateTruncated function. This means, given the following code: <div><br></div><div><div>%conv = sext i16 %0 to i32</div><div>%conv1 = sext i16 %1 to i32</div><div>%div = sdiv i32 %conv, %conv1</div><div>%conv2 = trunc i32 %div to i16  <br></div><div><br></div><div>* Assume %0 and %1 are registers created from simple 16-bit loads.</div><div><br></div><div>We cannot reduce the sequence to:</div><div><span style="line-height:1.5">%div = sdiv i16 %0 %1</span><br></div></div><div><span style="line-height:1.5"><br></span></div><div><div><div>What is the reason for the exclusion of sdiv from the operations considered valid for execution in a truncated format. </div></div></div><div><br></div><div>Thanks,</div><div>-Dilan Manatunga</div></div>