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

    <tr>
        <th>Summary</th>
        <td>
            [AVX] clang 18.1.8 AVX vector return of type '__m256' (vector of 8 'float' values) without 'avx' enabled changes the ABI
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    My clang version is 18.1.8, when I compile my program like these, I meet some problems:
```c++
__m256 vsum0 = _mm256_setzero_ps();
__m256 vsum1 = _mm256_setzero_ps();
```
The compiler told me :
```
error: AVX vector return of type '__m256' (vector of 8 'float' values) without 'avx' enabled changes the ABI
error: always_inline function '_mm256_loadu_ps' requires target feature 'avx', but would be inlined into function 'MatmulSingleUnrollAVXN1' that is compiled without support for 'avx'
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEU02P0zAQ_TXOZbRVMknzccihS1W0h-UCrMqpcpJJYnDs4I-W8uuRk7LLshduSJYse8bznt_M49aKQRHVbHvPtvuIezdqU7_n-ii4Gr7wqNHdtX68Qiu5GuBMxgqtQFhIyk2yKRm-g8tICh6g1dMsJMF0hdnowfAJpPhG4EayFPIeYCJyYPVEIaORNFmW7li8Z_GO5fG6Wob3YS23p9OE2xzO1k8xsHQPpylcnCy5n2T0abYMS4YVS98-SP7pwTPuevw00u-PGHBadjARvCW5HskYbVi6g93TEc7UOm3AkPNGge7BXWcChsVKiWEBDMtblu6hDLFeau5C6MylJ8uwgotwo_YuRPn5R4iR4o2kDtqRq4FsEBR29w9_ceDywq_2JJQUiqD3qnWhU4HAKoHUvPOLAAUY-u6FCbW4GchBT9x5Qy-goV-Nd3DRXnbQEKx1OxDK6VfVH7mbvPwo1CDpszJayt3T8UMSUNzIXRiVm6Dd89-sn2dtHPTa_AH5WuKoq9OuSiseUZ0UmORpkZRFNNZZhwWWbd-XFeV9VjV5mWHSELUxx6IpIlFjjFlcIMZlmsbFBtsMqzxNKe-p4WnOspgmLuRGyvO00WaIhLWe6qoqsyKSvCFpF0cgLmPPEIM5TB3y7xo_WJbFUlhnXyo44eRio93TkW33N7-sJvk_8xF5I-vRuXkxGR4YHgbhRt9sWj0xPATqt-1uNvortY7hYVHCMjysYpxr_BUAAP___NFLSA">