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

    <tr>
        <th>Summary</th>
        <td>
            ODR warning in Arch64GenAsmMatcher.in (SubtargetFeatureBits)
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          efriedma-quic
      </td>
    </tr>
</table>

<pre>
    When building with -flto -Werror=odr to find possible runtime issues w/ LTO:

```
/var/tmp/portage/sys-devel/llvm-18.1.0/work/llvm_build-abi_x86_32.x86/lib/Target/AArch64/AArch64GenAsmMatcher.inc:272: error: type ‘SubtargetFeatureBits’ violates the C++ One Definition Rule [-Werror=odr]
  272 | enum SubtargetFeatureBits : uint8_t {
      | 
/var/tmp/portage/sys-devel/llvm-18.1.0/work/llvm_build-abi_x86_32.x86/lib/Target/Hexagon/HexagonGenAsmMatcher.inc:49: note: an enum with different value name is defined in another translation unit
   49 | enum SubtargetFeatureBits : uint8_t {
      | 
/var/tmp/portage/sys-devel/llvm-18.1.0/work/llvm_build-abi_x86_32.x86/lib/Target/AArch64/AArch64GenAsmMatcher.inc:273: note: name ‘Feature_HasV8_0aBit’ differs from name ‘Feature_HasV5Bit’ defined in another translation unit
  273 |   Feature_HasV8_0aBit = 103,
      | 
/var/tmp/portage/sys-devel/llvm-18.1.0/work/llvm_build-abi_x86_32.x86/lib/Target/Hexagon/HexagonGenAsmMatcher.inc:50: note: mismatching definition
   50 |   Feature_HasV5Bit = 2,
      | 
```

Split from #84577 .  Originally reported downstream in Gentoo at https://bugs.gentoo.org/926529.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUlc-O2zYQxp-GugwsUEP9Pehgx1VyaLFAEjRHg7JGEluKdEnK3n37QrK9my3cIqeiNQxZ1mDE-X7zcSi9V4Mhqlm2Y9k-knMYraupd4q6SW7-mNUxam33Un8byUA7K90pM8BFhRE2vQ4WNt_IOeuY2NvOQbDQK9PByXqvWk3gZhPURKC8n8nDhWEDP399YmLL-J7x-zXnt-_1LzZn6Rg2YToxbE7WBTkQw8a_-E1HZ9IMG63P0yYp4yTmDJuLdb_fHh7WMjeyVYfnMj8IjJ_LfImplmHzVbqBAsNmu3XHMU_f7j6S2frpFxmOI7lYmSMTWyyQiS3cJG4hvJwI2E_ISs6q8svchvV1DckwO9qp4O_BCs7KahnIQxgJPjDcMdzBkyHYU6-MCsoa-DxrApbt3lFk2f7KAQALBFZ8ADLzBI-Wg6WqWZlQHgKwYndPXD5L4r8I9BM9y8Gat7tHQNNqKdjYQMuvNFdlq5861ffkyAQ4Sz0TGLn6BroFF3WgDEhjw0gOgpPGa7kinI0Kr6rT6n-D6wf9J77ntSJ5td9N1-GT9L-WBy53Kry570rTQ-_s9A952fukH0eNhViJATwoA5jYQ8IFww__dUNm_HvAk_LTEl6GXPe6TV81ZPyB5uwuGP9e7l_m23r9ctIqXPvDUJRpVhQQAzw5NSgjtX4BRwsY6qCzF-ODIzktrflIJlgLMsAYwskvsxQbhk07Dz4e1mBs3cCwqTDPsIqjrhZdJSoZUZ0USZJnieBVNNYZFz2vZMLLvigKkSHvkiI9iqTKhRQpRapGjikXWCZlmqRVXPUZdiR5T7zkedGxlNMklY6XviyrRuukr8u8KvNIy5a0X08XxCBbTQMZhricNa5e-7sUzVKulQ_-7SVBBU310_4zXKQzSzeUgcfbBBg-HsRYRbPT9XtGgwrj3MZHO928dPfZydnf6LjY5npUMWxWDX8GAAD__13mOMM">