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

    <tr>
        <th>Summary</th>
        <td>
            [clang] Silent missasembly of invalid x86 addressing mode
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:X86,
            clang:codegen,
            mc
      </td>
    </tr>

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

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

<pre>
    An assembler load instruction with an invalid addressing mode on x86 is silently missassembled to a separate instruction that was not requested.

```bash
$ cat test.s
.intel_syntax noprefix
.code64
test_case:
        lea     rdi, [(label + rsi) + rip]
label:
        .quad 42
$ clang --version | head -n1
clang version 20.0.0git (git@github.com:llvm/llvm-project.git def22f4e718daa74c2d0c03a32e32d4913a46278)
$ clang -c -o test.o test.s
$ llvm-objdump -d test.o

test.o: file format elf64-x86-64

Disassembly of section .text:

0000000000000000 <test_case>:
       0: 48 8d 3d 00 00 00 00          leaq    (%rip), %rdi # 0x7 <label>

0000000000000007 <label>:
       7: 2a 00 subb    (%rax), %al
       9: 00 00 addb    %al, (%rax)
       b: 00 00                         addb %al, (%rax)
       d: 00 00                         addb    %al, (%rax)
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVMuSo7gS_RqxyTAhkveChbvc_oG7ubuOBKVt9QjkkkS16-8nBLjK5Y7pGQUhgTj5zjzkvT5PzJ0ov4nykNAcLtZ11o1O-6S36r3bT0De89gbdmAsKdCTD24egrYT_NLhAjSBnt7IaAWklGPv9XSG0SoGO8GtqUB78NrwFMw7jNr7u0YFwQKB5ys5CvxFdbhQgF_kYbIBHL_O7AOrVMiDkPttr-T69OQv2xUWMFCAwD6kfr1L9RTY_PDvU6AbTPbq-KRv27_BKq6K9SMK_RjIs8g3C7Atw7ScTmmBLxDThY2hng0I_AbOa4Ht-qqvojys0gvgN13p60wKCnxw2NB0ht3ujZ2PoYv6BS5MCnZTtqJWxP0_ylSm8qwDCGzOOogiflzmPh3sKPK9MW-jwGM8dldnf_IQ0ohWfEI8FVxnjSKqiwGVHGROOXKOqmiznIoK60Zg-5tzA-zsmlX7JbkRshiy_U81j1fYqQ32WKntJt_DSRuGk3UjBWBzqordral29wqs-0HfO-Qd7Ak8rx2RBr6Fj3Suu3xaIPKXhzJ-f86-jD4UDTQKcgVSfj7wUOvXeApsBJaxntguRcfSKQ0Cc5C3Ohra6vv9Dw59xT05U0dnkKJ1P_f9g1G6fRol80WojUKry6TUJhRBC_pB-lGo_xT6p7Uo-3dN6j9q-rNbAounEU5Ul6s2bynhLqtzlGUla5lcup4VNs0Js6FVxVCWTVtWbZ7VSKo6tUWZ6A4lFlmWtRgPmdZ9hUPdtkiKirotRSF5JG3S2KepdedEez9zl2VV0-TJUh2_UCBiT8NfPMUg_99UAlHgi0BcZkDk-0gWZ54-7schvpaHxHXLDPTz2YtCGu2D_7QWdDALxa5qygP8byHDjQo_-vxOopExn4g0mZ3pLiFcfewhPAo8Pkz8OupPEy_wuITpBR63SN86_DsAAP__JNisFQ">