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

    <tr>
        <th>Summary</th>
        <td>
            Failed to compile matrix product like code using llvm 19.x for riscv vector extension.
        </td>
    </tr>

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

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

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

<pre>
    Hi there,

I tried to compile source code as below, using clang with options: `-march=rv32imafc_zve32f_zvl128b -mabi=ilp32f -Ofast`

~~~c

float *matA, *matB, *matC;
int nthreads = 1;

typedef struct{
   int id;
   int rowsA;
   int colsA;
   int colsB;
} tArgs;

void CalculaProdutoMatriz(void *arg) {
   int i, j, k;
 tArgs *args = (tArgs*) arg;
   int rowsA = args->rowsA;
   int colsA = args->colsA;
   int colsB = args->colsB;

   for(i = args->id; i < rowsA; i += nthreads) {
      for(j = 0; j < colsB; j++) {
         matC[i * colsB + j] = 0;
         for(k = 0; k < colsA; k++) {
               matC[i * colsB + j] += matA[i * colsA + k] * matB[k * colsB + j];
         }
 }
   }
}
~~~

It works in llvm 18.x and llvm truck(20.x), but failed in llvm 19.x error message like this

```
3.      Running pass 'Function Pass Manager' on module 'main.c'.
4.      Running pass 'RISC-V DAG->DAG Pattern Instruction Selection' on function '@main'
```

Thanks
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMVE-Po7gT_TSVSykIivAnBw4k-WV-fRhta2a115EBA26MnbVNuqcP-ewrQzrd2ZmWVkJgF6_eq3KVi1krOsV5AckOksOKTa7XpmiZ6vqJ_S1WlW5-Fv8X6HpuONAewhLC8gGdEbxBp7HW40lIjlZPpuZY64Yjs1hxqZ-B9jhZoTqsJVMdPgvXoz45oZWFuERIw_XITN1DfDDnmMTI2vrH65nH1P54PcuI8grXI6sExAchTzG1uP6jZdZBGi6RXC6Xelm1UjOHQOXIXOmVl-XufbmHeAdhKZRD5XrDWWMR4gNGix3C0v088Ya3aJ2ZageZNyOi9xDNgrpujX625Z2l1vI3lt2VOzugK01nb1JnLRrcM1lPkj0a3UxOf2XOiFegfP4HVDLTAW3xPg6fz5N_DVexmfcKXxICyhcxKr2_p_kl9hnoPdYQ_--TbO4wn-T3C2Z3SxERW22AcnEHmk8SvW1_O0a_pZ1HvVXmLvEb09PMFHqPp5ngTdEfyW5-7t0Qca58svMK5VvM5B2Sw43tI35RGt6VhpvSHOrwqdJ_0FuSnFv0I6ScIcMCKXHu22Q3_IbiX8FCdvDb6-dtv7wvl8v1ujp81mawKBRKeR4xyoMXZKpZdr7ZB6CcwuAFaOt7q5octkxI3rz7bIMX5MZogyO3lnUcpRg4ul7YRcZfyuUJyzhY4vs2KeUHwIlZ36PZcVK1v__46A1fmWIdN0AZaoWjbibJPWpkQgU1UBZAWG4-ofr28H2__gsP5RffVYfyCz4y57hR-KCWC-x1vnPJ59VVpH0LACiDTeiV_Oo-egjLP3umBrtqirjZxlu24kWUxUkUZpRvV33B6yqJk22cJnnMN1EVR5uEGsqaNqM8zdKVKCikTUSUhGm02eRBzdo8T9NmmzRpxCMOm5CPTMjAn26gTbcS1k68iCgK83QlWcWlnecykeLPOP8FIj-mTeGd1tXUWdiEUlhn32mccJIXx6V6Hyb06MfLC578sKndUrx5XC8j-r3IrTZohK3PeOa10wb5i-PKCq2C1WRk0Tt38vMb6Ah07ITrpyqo9Qh09CTXz_pk9BOvHdBxDt0CHa-5nQv6JwAA__-6TOQJ">