https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111317
Bug ID: 111317
Summary: RISC-V: Incorrect COST model for RVV conversions
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: juzhe.zhong at rivai dot ai
Target Milestone: ---
#include <stdint.h>
void foo (int32_t *__restrict a, int64_t * __restrict b, int n)
{
for (int i = 0; i < n; i++)
b[i] = (int64_t)a[i];
}
--param=riscv-autovec-preference=scalable -O3 -fopt-info-vec-missed:
Failed to vectorize:
<source>:5:23: missed: couldn't vectorize loop
<source>:6:24: missed: not vectorized: no vectype for stmt: _4 = *_3;
However, try -fno-vect-cost-model.
We must adjust the COST model for RVV corretly.