https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128439

            Bug ID: 128439
           Summary: risc-v: ICE in in extract_constrain_insn
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: kirill.k.smirnov at gmail dot com
  Target Milestone: ---

Created attachment 66084
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=66084&action=edit
testcase

I am building llama.cpp for RISC-V spacemit k3 core.

gcc revision is 901560aa377051f162bbf50a0fe49a5e17b4b232. For some reason it
has not been mentioned in file bug.ii generated by -freport-bug.

$ riscv64-unknown-linux-gnu-g++ bug.ii -c -O3 -march=rva23u64

/home/lich/pkg/repos/llama.cpp/ggml/src/ggml-cpu/repack.cpp:2273:1: error: insn
does not satisfy its constraints:
 2273 | }
      | ^
(insn 863 859 1122 15 (set (reg:V4SF 100 v4 [orig:380 vect__549.19337 ] [380])
        (if_then_else:V4SF (unspec:V4BI [
                    (const_vector:V4BI [
                            (const_int 1 [0x1]) repeated x4
                        ])
                    (const_int 4 [0x4])
                    (const_int 2 [0x2]) repeated x3
                    (reg:SI 66 vl)
                    (reg:SI 67 vtype)
                ] UNSPEC_VPREDICATE)
            (float_extend:V4SF (reg:V4HF 100 v4 [orig:1094 vect__547.19335_2306
] [1094]))
            (unspec:V4SF [
                    (reg:DI 0 zero)
                ] UNSPEC_VUNDEF)))
"/home/lich/pkg/repos/llama.cpp/ggml/src/ggml-cpu/simd-mappings.h":102:16
discrim 65792 20363 {pred_extendv4sf}
     (nil))
during RTL pass: reload
/home/lich/pkg/repos/llama.cpp/ggml/src/ggml-cpu/repack.cpp:2273:1: internal
compiler error: in extract_constrain_insn, at recog.cc:2797
0x7f02e9ec9d64 __libc_start_main
        ???:0
/home/lich/x-tools/riscv64-unknown-linux-gnu/libexec/gcc/riscv64-unknown-linux-gnu/17.0.0/cc1plus
-fpreprocessed /home/lich/bug.ii -quiet -dumpbase bug.ii -dumpbase-ext .ii
-march=rva23u64 -mabi=lp64d -misa-spec=20191213 -mtls-dialect=trad
-march=rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicond_zicsr_zihintntl_zihintpause_zihpm_zimop_zmmul_za64rs_zaamo_zalrsc_zawrs_zfa_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbs_zkt_zvbb_zve32f_zve32x_zve64d_zve64f_zve64x_zvfhmin_zvkb_zvkt_zvl128b_zvl32b_zvl64b_supm
-O3 -o /tmp/ccBVis63.s


It looks like a duplicate of Bug 127739, but the triggering conditions and
error message are different. This bug does not get triggered by '-O2
-march=rv64gcv -ftree-vectorize', it requires -O3 and a new rva23u64 arch.

Reply via email to