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

    <tr>
        <th>Summary</th>
        <td>
            Suggest having a way to also have clang list features implicitly enabled, like FeatureRCPC_IMMO and FeatureLSE2, that have no "-target-feature" equivalent
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    clang with -### and -mcpu=... use (for example) can be made to report the "-target-feature" values (including implicit ones that are user settable) to check that the intended combination is as desired/expected. (I extract and sort the "-target-feature" material into a uniform textual ordering.)

But there are features with no "-target-feature" equivalent and no user command line control beyond the likes of picking an alternate value for something like -mcpu=... . Discovering mismatches with one's intent/context is rather painful as is --as is finding an alternative -mcpu=... (or such) with the intended not-directly-settable feature subset. (I'm not trying to say that the FeatureNAME list avoid things that have "-target-feature" equivalents, just that it not be limited to "-target-feature" equivalents.)

Possibly even more important, it would make it far easier for anyone to check against the likes of arm_cortex_x1c_core_trm_101968_0002_04_en.pdf or arm_cortex_a78c_core_trm_102226_0002_03_en.pdf and report mismatches. The whole process is currently rather error prone by being so complicated. (I have a submittal for discovering such issues for those two types of cores --the 2 types in the Windows Dev Kit 2023.)

Reporting ARM FEAT_name notation as well would make that last even easier to do.

There have also been cases of the parser AArch64::AEK_name default list not matching the FeatureNAME default list (for things that have "-target-feature" equivalents). Making this  more readily discoverable would be good, which might require reporting 2 independent lists that could then be inspected/compared.

ARM seem to be on a path of generating ever more combinations of ever more features and avoiding errors in clang/llvm for such things looks to be getting to be ever more difficult. I was only checking out 2 type of cores and it was messy as is.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVl1v27gS_TXyy8CCTMdO_OAHN4mBojf3Fm2B-2iMqLHEhiK15MiO__1iSKVOAnR3sUAQf3G-zjlzKIzRtI5oW6w-FauHGY7c-bDtMTz3Zlb75rLVFl0LZ8MdzAu1zH-AroF5r4exWD6UZQljJCjU3dEHoBfsB0uF2oBGBzVBjw0Bewg0-MDAnZxVc8bQEs-PhDwGKpSCE9qRoiQyTtuxMa4F0w_WaMPgHUXgDhkwkBQMEIkZ61yLPeiO9HM-IjWMY3INNaB9XxuHbLwDEwEjNBRNoKZQe3oZSDM1pVT9DPTCATWn-eJfN9sjUzBopY4HhNGZow89ML3wiBZ8aCgY15aF2hTVQ1Ht8v9PY8oaKM0xJYwZYed_U4z-GM0JLbncmvMZAO37Xj5b4wi0dxy8hZou3jWpc2ueKYI_wmD0s6CJDtAyBYdMGW4QzqLviTs5IBHvmC3hwUTtT2kW6E3skXX32rB3VKjbmLHmQu2lCXphwTmgjAkDGnccrcBuIszn-fVoXPOhIXN6X7lQd9LaqDvhN5V7R6vzPG9MIM32Mn-VwiugEMc6EmdaC3Xby3HgcJGi7CHi5aqUfY757-7pEayJDHjyRhA0rp001-Hpd0K4chMLdQ8_x8g5xnAqWgsPvWFqpPDf5viol68-RlPbC9CJHPQ-kOyED4wC-L1UOfvRNtDjM8mnIwYgjIZC4hbdxTu67ge2aFzk9_rA0B-0D0wvh5eFlrd04NAfFtVis747VFWlDtXNgVw5NEeQrNcAvL17F6GUWk8Ry9cIEem0_lcJlfCjIzh33hIMwWuKSRp6DIEc28urgigEH-SEI6gvUJNwGL2oX7wBr-ubWELhvjfMaBMAzRv9iprAxCg2I79x5yMBnz3wZchQyCSiU8FHTV8bl-D6v3GNP0d4oBN8MQyqUsuPdH1LU0qt3bcn2D_ufhwc9iRKyA6EEc5k7VvSklosRs4cT-Sxh8aXb3P_SLaRh7TRQ03kQGPMjUuHAwbxhd0u6G59Uyx3xXK3e_ySW2joiKPlLHFRZuIhLcSHJXh3cvL1f7MNmxKe8DlXMBGyegNhY-zlFy9pbTMaNUHrfSOyPndGd9CbtmMIkjRFvmKrwLiGBjECl9ucOtMpD3eUbh7jYrb35Ez9gIGad4gKR5GoF7BrAqEHBhRjO0JLjgKmcnSikJt_c5ck0K-__HJy0XoykBQp2k0CShdpofbWnvpsuqLFCVXr_XOcmmiJeXKpmt4UaMzxaPRouYTPcMYI3tlLXmo57kee9HpVsbQi_oAReorxkk24nDXbZbNZbnBG28X6brm4WSu1mnXb5RH14na9qJsNUVXTaqVrrelWrxeru2pDM7MVzVeraqmq5W21Kquj0o1e1esVLe9I6-Kmoh6NLWXM0od2lrZtu1ar5c3MYk02pqcNpRyd8yoWSsnDR9hKzLwe21jcVInTaxY2bGn7fWxbikl_6fKAs9i4z9uQRJkfV5JufxHy-gghHupEbUlg6aabRP_t_uv94fPT0_8SYtOX__n-qOTgVfH_4HqejcFuO-YhyvKpfaH2reFurEvt-4n96WU-BP-TtNya2ZEKtU8w_RkAAP__1ghUbA">