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

    <tr>
        <th>Summary</th>
        <td>
            [Mips] Presence of inline asm instructions affects ELF ABI info
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:MIPS,
            miscompilation
      </td>
    </tr>

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

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

<pre>
    ```console
❯ cat test.ll
target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
target triple = "mips-linux-musleabi"

define dso_local void @entry() "use-soft-float"="true" {
  call void asm sideeffect "nop", ""()
  ret void
}
❯ llc --version | head -n2
LLVM (http://llvm.org/):
  LLVM version 20.1.2
❯ llc -filetype obj test.ll -O0
❯ readelf -A test.o

MIPS ABI Flags Version: 0

ISA: MIPS32
GPR size: 32
CPR1 size: 0
CPR2 size: 0
FP ABI: Soft float
ISA Extension: None
ASEs:
        None
FLAGS 1: 00000001
FLAGS 2: 00000000
❯ sed -i s/nop// test.ll
❯ llc -filetype obj test.ll -O0
❯ readelf -A test.o

MIPS ABI Flags Version: 0

ISA: MIPS32
GPR size: 32
CPR1 size: 32
CPR2 size: 0
FP ABI: Hard float (double precision)
ISA Extension: None
ASEs:
        None
FLAGS 1: 00000001
FLAGS 2: 00000000
```

Note that the resulting code is soft float in both cases. It's just the ELF ABI info that's wrong.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMVE1v4zYQ_TX0ZSBDHvpDPuigxPE2QLIN1sBeC4oa2UxpUuBQadJfX5Cys2sUPRZYwZDMp5k3mjfkU8zm6IhqsboTq91MjfHkQ60svYdh1vruoxbrcvpp79hbEmUjHlBsd6LZg1YRInGcWyvKJqpwpAidisqqDz9GEHIHAvGhOAvZnItByEZivhWmErKpLv8XayGbfEur9VLIZr0snMTisF4KxB_kMZjB0pX4bAYurHHje3Ee2ZJqzRQtyqaj3jiCjv0f1mtl4c2bDsSyJBfDh8BK4DZxjEwF-z4WvfUqpnS5E4gxjCQQQWzuRNkAaGUvFIrPwKYj6nvSMVE4P6Q8vIf8wIk8pwWKOSt902Z3I561GorijQIb70Bs7uFEqoPCpQaenr4_g8DqFGNSTeBe4N7at_Pch2NebROcSuTQKw2W88Uc_12nN5bix0Dg29fryKD4vbyJDKQ6sj0UzRTiJyWfH18O0Nw9wt6qI8P3qZSQDZRTwOOhSasUJ1PtLy_fgM3flMAM3L98W3wi5QTgDbB_SRXS6uD7CNMsMjM8vEdy14pfvUtbsDk88LX_6bq82D81Xw6wyLTTtfhE8Sf0tnGmDgoDLHCfZ5nE_mlj_7paXpH_EvM3FbpJzLSZOj-2lmAIpE0umzfp_6vx1T6m7r76SBBPyTZOBIF4tNG4I2jfERgG_hw-GAetjyfQionn8BgFbhheR55yH572WUfjep8Z8-u_gnfH-ayrZbeVWzWjerFZLiVWJVazU42qoq5v-3a17lflZq2Q1rhq-1brVbmt5MzUWOKqXC5KlFIuq7lu24qqihZVK3XX98k_zsrY-fUszgzzSPVCrrCSM6taspztFLFV-k9ynZB56pNDZNNi7c-DsSrmGWBy3lAnwqIdjyyWpTUc-UeJaKLNHv1sBharHbwEYnKawPdgnE0-l1zJOI5h1ImWQWV74huhZmOwdbIU_vSUo4mnsZ1rf74YzOVRDMG_ko4C97nDdDYuTb7V-E8AAAD__5eaz1I">