https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110299
Bug ID: 110299 Summary: RISC-V: ICE when build RVV intrinsic widen with "-march=rv32gc_zve64d -mabi=ilp32d", both GCC 14 and 13. Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pan2.li at intel dot com Target Milestone: --- Created attachment 55358 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55358&action=edit Reproduce code Given we have the below code. #include "riscv_vector.h" #include "riscv_vector.h" vfloat32m1_t test_vfwredosum_vs_f16m1_f32m1(vfloat16m1_t vector, vfloat32m1_t scalar, size_t vl) { return __riscv_vfwredosum_vs_f16m1_f32m1(vector, scalar, vl); } There will be the ICE when build similar as "riscv64-unknown-elf-gcc -march=rv64gc_zve64d -mabi=lp64 -O3 -Wno-psabi -c -S test-float.c -o -". .text test-widen.c: In function 'test_vfwredosum_vs_f16m1_f32m1': test-widen.c:4:10: error: invalid argument to built-in function 4 | return __riscv_vfwredosum_vs_f16m1_f32m1(vector, scalar, vl); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ during RTL pass: expand test-widen.c:4:10: internal compiler error: Segmentation fault 0x1044343 crash_signal ../.././gcc/gcc/toplev.cc:314 0x7f76d0c4251f ??? ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0 0xc5d1d7 store_expr(tree_node*, rtx_def*, int, bool, bool) ../.././gcc/gcc/expr.cc:6345 0xc5f500 expand_assignment(tree_node*, tree_node*, bool) ../.././gcc/gcc/expr.cc:6048 0xb2142c expand_call_stmt ../.././gcc/gcc/cfgexpand.cc:2829 0xb2142c expand_gimple_stmt_1 ../.././gcc/gcc/cfgexpand.cc:3880 0xb2142c expand_gimple_stmt ../.././gcc/gcc/cfgexpand.cc:4044 0xb26770 expand_gimple_basic_block ../.././gcc/gcc/cfgexpand.cc:6096 0xb28837 execute ../.././gcc/gcc/cfgexpand.cc:6831