https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607
--- Comment #15 from JuzheZhong <juzhe.zhong at rivai dot ai> --- Hi, Robin. I tried to disable vec_extract, then the case passed. diff --git a/gcc/config/riscv/autovec.md b/gcc/config/riscv/autovec.md index 3b32369f68c..b61b886ef3d 100644 --- a/gcc/config/riscv/autovec.md +++ b/gcc/config/riscv/autovec.md @@ -1386,7 +1386,7 @@ (match_operand:V_VLS 1 "register_operand") (parallel [(match_operand 2 "nonmemory_operand")])))] - "TARGET_VECTOR" + "0" { /* Element extraction can be done by sliding down the requested element to index 0 and then v(f)mv.[xf].s it to a scalar register. */ I am not so familiar with it (vec extract stuff), could you take a look at it ?