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

    <tr>
        <th>Summary</th>
        <td>
            [compiler-rt] when __udivmoddi4 function handles the special case where the divisor is 0
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          peter-hash
      </td>
    </tr>
</table>

<pre>
    `    /* n.s.high != 0 */
    if (d.s.low == 0)
    {
        if (d.s.high == 0)
        {
            /* K X
             * ---
             * 0 0
             */
            if (rem)
                *rem = n.s.high % d.s.low;
            return n.s.high / d.s.low;
        }
        ...
     }`
In the code, when the divisor is 0, the dividend and the divisor are directly divided. Why? What is the purpose of this? Why is this case not handled in the libgcc code?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx1UcFuozAQ_RpzsWIZE2g4cEgbRVr1A3ZvlcET7JWDkW1a5e87hnRDtikS2DPvzcx7Q-vUpSEVp_gQcSRiTwcWmDa9xjgnxYFyvOwTxg-E7xPRnDC1U8iz7oMiZ6YRUd8o5On5FtzXLL0fFT0sXCl7pX--Y0kd3Ww2PyAcZzxE7hzdq_Rw_qZrVYlw0r9eVEmv2yDFA_ke4uSHNf_4I588He4TjLFVIsHV1dGvgUYNtHMKiHihHxqWhDLvJjhPTUj7ffmXUzAoKvFdk6RPdw9dtJcrSzH6W19IccRDxtQmFYyTH10A6k4YmrDAlwXFTycRG1ykGidYUNQsYqxp-65bRBbHTDWFqotaZtFECw0pnzt3Ho0Fv_GRlIfFxdvbhFLOTimzpadp6KJxw7XzoiaM0Blpl7FYgy7-t55N3jY6xhG1zn9bHHsT9dQyHImBte9fx2b07i-uAEMTwgQBL2Up6l2mG3mCbVdAK0BAJfk2L1vgkJd5VQGI3S6zsgUbkhXUn5lGcCF4ySte8LrYslIiTQA_KY4d8pxsOZylsSwNZs73mW9mDe3UBwStCTHcQBmC6QeAr_5yitr5ZoSIK9My6GxW3MxyPwHI9BI0">