<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/163084>163084</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Missed optimization: fold sdiv exact by constant + icmp ugt into scaled unsigned bound check
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Leo0506
      </td>
    </tr>
</table>

<pre>
    ```
define i1 @src(i64 %arg0) {
  %v0 = sdiv exact i64 %arg0, 12
  %v1 = icmp ugt i64 %v0, 12
  ret i1 %v1
}

define i1 @tgt(i64 %arg0) {
  %v0 = icmp ugt i64 %arg0, 144
  ret i1 %v0
}
```
alive2: https://alive2.llvm.org/ce/z/AtXTSY
godbolt: https://godbolt.org/z/3x9eePPjf
Pattern found in: https://github.com/dtcxzyw/llvm-opt-benchmark/blob/main/bench/llvm/optimized/ASTUnit.ll
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMU1tr3DwQ_TXjF5FFHt8f_OB8wU9fIZAU2kddZr1KZGmxZOfy64tds9mmpRSMwZoznnPOHIkQzOCIWihuobhLxBxPfmr_J88LXibS67cWSr4_vNN0NI6YSRnkPEwKsDZlzgALMQ0csGFQ3QLv2Hq0cAbZHQvaLIxehYrsF-x_LMULNN2gRo1nNg8X4HINmyhug1c08A6qu_X9iVMc4r9w-jzowijPP8_iH7OujBDWLISQdewU4zlA1gH2gP3P84O1y3jw0wDYKwLs3wH7Ln57fPgOvBu8lt7G35v3wt649mSvDdH9_dMReHcvYqTJsaOfnWbG_aHfxNMsD8qPgL2O6vX97QWwX8nc-HO8keTUaRTTM2AvrZeA_SiMW7_Wyg4F7P05mtG8k15pPzx-dSYerE10m-kma0RCbVqVHJu0rork1IqmzqgUUlfEqZJVIUqSWOYZl8e6zlViWuRYpDzFtCqqojhUssnKOhW6qcpKNgJyTqMw9mJcYkKYqU3LjNd5YoUkG7aQIjp6YVsVENfMTu0mUM5DgJxbE2L4-E000VL7xYRAmu2yRDR-c-_orb6Op3xjyrsQhYsM8PYqJS56FpSwpNnstiujmdz2oE6knpN5su1fdrHbuvE8T_6JVATsNxEBsN9VLi3-CAAA__-zkxLP">