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

    <tr>
        <th>Summary</th>
        <td>
            [FMV] diagnose FMV + streaming mode change
        </td>
    </tr>

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

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

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

<pre>
    https://clang.godbolt.org/z/Ef81qW5Ta

```
__attribute__((target_version("sme2")))
void cannot_work() __arm_streaming {
    // This should be diagnosed as unsupported: it has a different ABI than the default version.
}

__attribute__((target_version("default")))
void cannot_work() { }


__attribute__((target("sme2")))
void just_fine_sme_streaming() __arm_streaming {}

__attribute__((target_version("sme2")))
void just_fine() { just_fine_sme_streaming(); }

__attribute__((target_version("default")))
void just_fine() { }


int main() {
    cannot_work();
 just_fine();
}
```


Currently we don't diagnose this, and codegen leaves off the required `smstart`/`smstop` that we need on entry/exit from `_Z11cannot_workv._Msme2`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVEFvqzgQ_jXmMioydoHkwCFpFmkPvVVdaS_I4AHcBTu1h3S7v34F5TV5bdVWT0-yHDn2zHzfNx-jQjCdRSxYumfpIVIT9c4XD97h4NoQ1U4_Fz3RMTC5Y6JkomwGZbu4c7p2A8XOd0yU_zFR_tFukse_0jvF-IHx3bpnfF3LsaoUkTf1RFhVTGyY2JDyHVJ1Qh-Ms8t_IowomBBMbNe1BJ-c0dAoax1VT87_s7zdQlUpP1aBPKrR2A5Yvn95DwDwAhnuehMg9G4aNNQI2qjOuoAaVIDJhul4dJ5QM7kDQ9CrAAq0aVv0aAl2-z-BemWBegSNrZoGghVwvPLMD5e0v8lzzfVtqizfw5tKX9T7Us-HKVDVGotVGPGs4ifa_hLT7yC4IPkpKibfqfBb9P4IyIdqG0swKmPP786Ge9c0Jn_cvsn_enGu8fPHcrnfTH624vAMTwh65pPTq42BehOYuAFlNTROY4cWBlQnDODadrGtx8fJeNTAMh7GQMrTXEiU69kdWcZnl9NcwSJqcBbQkn9mosR_DUHr3TiHV38nyQXNU1zdLu3NeBzpQuqt3KoIiyTnWZZmMpVRX2jeoNpkdau0ku1G5plUaZqKTEqOSZ1FphBcXPNEciETIWWM2y1Pk7xu-EbmtU7ZNcdRmSEehtM4j53IhDBhseE8z6NB1TiEZYoJYfEJlsu50ekh8sUcc1VPXWDXfDCBwjkLGRqW8Vfe3rP0cBa1vL0HJvZwdv_oNELTK9thNPnhzVzsDPVTHTduZKKc068_V0fvHrAhJsoFVGCiXED_HwAA___VyKtf">