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

    <tr>
        <th>Summary</th>
        <td>
            "no-builtins" should work on `__multi3`?
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            question,
            compiler-rt:builtins
      </td>
    </tr>

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

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

<pre>
    https://llvm.godbolt.org/z/9vcj8dqaY

I tried this IR:
```llvm
define noundef i128 @multer(i128 noundef %0, i128 noundef %1) unnamed_addr #1 {
  %3 = mul i128 %1, %0
  ret i128 %3
}

define noundef i128 @multer2(i128 noundef %0, i128 noundef %1) {
  %3 = mul i128 %1, %0
  ret i128 %3
}

define noundef i128 @__multi3(i128 noundef %0, i128 noundef %1) unnamed_addr #1 {
  ret i128 999
}

attributes #1 = { "no-builtins" }
```

I expect `multer` to use the `__multi3` function I defined.
But I got:
```asm
multer:                                 # @multer
 mov     rax, rdx
        imul    rsi, rdx
        mul     rdi
 add     rdx, rsi
        imul    rcx, rdi
        add     rdx, rcx
        ret
multer2:                                # @multer2
 mov     rax, rdx
        imul    rsi, rdx
        mul     rdi
 add     rdx, rsi
        imul    rcx, rdi
        add     rdx, rcx
        ret
__multi3:                               # @__multi3
 mov     eax, 999
        xor     edx, edx
 ret
```


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUVU1v2zgQ_TWjC2GDGsoKddAhiWHA2NPubU8BJY5tppLo8CN1--sLfVhxnLRpgaJABcMG5nFm3hu_EZX3Zt8RlbC6g9U6UTEcrCvXRnX__pNUVn8pDyEcPYhbwA3gpmme2-Xe6so2YWndHnDzFXBTPNePUj-p_4Gvgd-O31sWnCHNwsF4tv2vrzGiOR8_fbExpGlnOmKdjZ2mHTMpSgYZb2MTyAHKIXBGAVcc8J5dB1PAgsWuUy3pB6W1Y4AiZXBzNzZh_SHBQKxZG5upyZB2P9acTjkKMygmyjfrS2U_pIu_xPfPsXt46PkZ8fvGOVMpiuJdJioEZ6oYyE-5Yt3nM0Ds7KKKpgmm84DIXhLP5njtJDodqQ4M8rMncs6CZdETCwfq47O8nLNd7OpgbMe2bByGXo6F7mJgW7a34a0ZlZ-8ODUQt-yjB1BcuHQcSmufB8ypUz9Up0_naY2P6f_cHvfmXXyCmdNmApTWU2Ss6M13KtZTxyv8Or--6ugoXArHn1D-Sjj-_cpn73wofVI-J7yWTqP0eR3OWSfrRnwkQrP0mcG7tk90KXQhCpVQmeaFSIssEzI5lCKXu121kjzndZHnaVYXUmJVq7yWlK1kYkrkKLhEyUV2k8qlRJXuUCoiTKWqa8g4tco0y-GFbt0-Md5HKvMVF2nSqIoaP1wKiE-RfL9MgAh4D4i1bY-mIbdw_RpdbHF_g7iyr7io4t5Dxhvjg3_pEUxoqHy7_f5gY6PZZ-s-MdtdbTOITRJdc3UR7U04xGpZ23a6laafxdHZR6oD4GZQ5AE3g6hvAQAA__9z2917">