<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/88369>88369</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[RISC-V] Defining fixed-size RVV tuple types
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
OMaghiarIMG
</td>
</tr>
</table>
<pre>
Hello,
I have a question regarding the use of the _-mrvv-vector-bits_ attribute for defining fixed-length variants of RVV tuple data types(e.g. vint8m1x2_t).
```
#include <riscv_vector.h>
#if defined(__riscv_v_fixed_vlen)
typedef vint8m1_t fixed_vint8m1_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen)));
typedef vint8m1x2_t fixed_vint8m1x2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen*2)));
#endif
```
Produces an error:
```
main.c:6:54: error: 'riscv_rvv_vector_bits' attribute applied to non-RVV type 'vint8m1x2_t' (aka '__rvv_int8m1x2_t')
6 | typedef vint8m1x2_t fixed_vint8m1x2_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen*2)));
| ^
```
Using Clang18(release/18.x - c13b7485b87909fcf739f62cfa382b55407433c0)
`clang -march=rv64gcv --target=riscv64-unknown-linux-gnu -o rvv_test main.c -mrvv-vector-bits=zvl`
Is there another way to define fixed-size tuple types?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVEuTnDYQ_jXNpQsKJJ4HDuMZT7IHV1JOxVdKQAOKNWIiCbzrX58SzI498SaXHEKphB79-D71Q1grR01UQ_YOslMgFjfNpv7lgxgnKczTh5-Cdu5f6p9JqRnYEeITxId9fsJJrIQC_1zIOjlrNDQK00s9opsIF0s4D9uyCS9mXcOVOjebsJXONiicM7JdHOEwG-xpkNprDvKZ-lCRHt2EqzBSaGe9nY-fPqFbroqwF06ge7mSBVZSNEa4Su3KS_LMGgesir5HCXl8G_uWcak7tfSEwI9G2m5tdljRBPz9gybjctiBUQ-sbJqbeLNhbFZFGli1C3s4PQ2vSBqHN6H7vmnujJsGWAms3O2Z9RVC41_mXzztg79706Un_-h0O_nPbg_sR9fAOOleDm8-8a9m7peOLAqNZMxsgL8di4uQOuqAH3LghywFfrjLI7DiH2AW32WOuF6VpB7djHrW4ZYiL1fy2g8pUSCwUnwW_qLZTD7c3qOIiJgjFEf8Hx8Xt8-DgOz920m8zb9bXy9HJfSYbJ5JkbAE7JyU0TOG2CW8LdIya8uiiquhGwpeDTnrBsFL1mZZGhcp5118pw953HlzGF6E6SbgJ7Pm6ditGIZOmJGcP_I08jRc9Gc9f9Ghknp5Dke9YDij5-3IOtxjiz_UPfDT11X9jcmT9V3CEAo9-wV-ES8-pnvt3VqClV_p1gD22ufnoK95X_FKBFQnRcJKVhRJGkx113LWJ5y1LGUDJXGZUZGxvigKkWZ9JgJZs5ilcZokccVKnkZJLJKC55SyoudVl0Ia00VIFSm1XqLZjIG0dqG6LHleBUq0pOxr0zS1FwrbZbSQxkpaZ7-pOenU1l4_Pv12DD9BdsLTY6_biH3rbhu5YDGqnpy7Wl887AzsPEo3LW3UzRdgZ2_-9guvZv6DOgfsvEG0wM4byr8CAAD__2na3MQ">