<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61291>61291</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
SystemZ: 128-bit element-type vector arguments unsupported
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
aarnez
</td>
</tr>
</table>
<pre>
The SystemZ backend currently doesn't support passing vectors with 128-bit element types such as long double or __int128. Verified with this snippet:
~~~
typedef long double sometype;
sometype get_elem(sometype __attribute__ ((vector_size (16))) v)
{
return v[0];
}
~~~
When trying to compile, clang crashes with this message:
~~~
fatal error: error in backend: Unsupported vector argument or return type
PLEASE submit a bug report…
~~~
The same happens when defining `sometype` to `__int128` or when trying to return such a vector type instead of passing it as an argument.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U02PnDoQ_DXm0pqRMTN8HDjMvtk5vcOT9iWRckEGGnACNnLbs5o97G-PDPOxWSUSsq1CLld1dUsi1WvEku2f2P4YSe8GY0sprca3qDbtpfx_QHi5kMPpO9Sy-Ym6hcZbi9qNF2gNkmYic0B-no11MAdO3cMZG2cswatyA8Qi39TKAY44oXbgLjMSkG8GkASj0T20xtcjgrFQVUq7WORbgK9oVaewXVncoAhIq3lGx5ID40fGr-v7-_t6CMwtdr9xkpkw4Cx5-njnBkOPrgrKmMjvWFVJ56yqvcOqAiZyJvLVUkXqDQMSp0wU6wfnsK_c2fURAIvOWw1ntn_ibH98PJ8dP6le128DanD2EsrnDDRmmtWITPwDzSh1D42VNCB9KMaERLLHvxWjk06OgNYay5LDegClbzkG7Iu-BoftNTKQtvdLSsbeLCzVWyj_-_f58PIM5OtJOZBQ-x4sBgL2LFjO2SH9o7fQRiQnhEHOM2qC12C2xU7pYJel_J5SyoN7lvJbIwTE2PXGozxXaWsT3bQv2SlNDmULprt3Y9BKIPXd3DZqy6QtkkJGWMZplidpwQseDQHdNV1WZLyRaZKl-7ZO0jaRMW_kLm_SSJWCi4QnvIiTJOfFVmR1KtKua9JG5qIu2I7jJNW4HcfztDW2jxSRxzKNRRFHo6xxpGXihND4CstPJkQYQFuGO5va98R2fFTk6MHilBuxvA5jCO_TWG0W959SJPCPiCNvx3JwbqbQMuLExKlXbvD1tjETE6fw1HXbzNb8wMYxcVoEEhOnxcCvAAAA__-_kmDP">