https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113420
Bug ID: 113420 Summary: risc-v vector: ICE when using C compiler compile C++ RVV intrinsics 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 <riscv_vector.h> void matrix_transpose_intrinsics(float *dst, float *src, size_t n) { for (size_t row_id = 0; row_id < n; ++row_id) { // input row-index size_t avl = n; // source pointer to row_id-th row float* row_src = src + row_id * n; // destination pointer to row_id-th column float* row_dst = dst + row_id; while (avl > 0) { size_t vl = __riscv_vsetvl_e32m1(avl); vfloat32m1_t row = __riscv_vle32_v_f32m1(row_src, vl); __riscv_vsse32(row_dst, sizeof(float) * n, row, vl); // updating application vector length avl -= vl; // updating source and destination pointers row_src += vl; row_dst += vl * n; } } } <source>: In function 'matrix_transpose_intrinsics': <source>:14:13: internal compiler error: in resolve_overloaded_builtin, at config/riscv/riscv-vector-builtins.cc:4614 14 | __riscv_vsse32(row_dst, sizeof(float) * n, row, vl); | ^~~~~~~~~~~~~~ 0x7fbb66a29e3f __libc_start_main ???:0 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. Compiler returned: 1