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

            Bug ID: 109092
           Summary: [13 Regression] ICE: RTL check: expected code 'reg',
                    have 'subreg' in rhs_regno, at rtl.h:1932 when
                    building libgcc on riscv64
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: build, ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: riscv64-unknown-linux-gnu

$ cat testcase.c 
void foo(int i) {}

$ /repo/build-gcc-trunk-riscv64/./gcc/cc1 -mabi=lp64d -march=rv64imafdc
testcase.c -quiet
during RTL pass: vregs
testcase.c: In function 'foo':
testcase.c:1:18: internal compiler error: RTL check: expected code 'reg', have
'subreg' in rhs_regno, at rtl.h:1932
    1 | void foo(int i) {}
      |                  ^
0x7a0e7d rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
        /repo/gcc-trunk/gcc/rtl.cc:916
0x93b82e rhs_regno(rtx_def const*)
        /repo/gcc-trunk/gcc/rtl.h:1932
0x958236 rhs_regno(rtx_def const*)
        /repo/gcc-trunk/gcc/config/riscv/pic.md:87
0x958236 recog_17
        /repo/gcc-trunk/gcc/config/riscv/riscv.md:1750
0x1ac76aa recog_174
        /repo/gcc-trunk/gcc/config/riscv/vector-iterators.md:326
0xb527dc recog_memoized(rtx_insn*)
        /repo/gcc-trunk/gcc/recog.h:273
0xfdff84 extract_insn(rtx_insn*)
        /repo/gcc-trunk/gcc/recog.cc:2789
0xd111ff instantiate_virtual_regs_in_insn
        /repo/gcc-trunk/gcc/function.cc:1611
0xd111ff instantiate_virtual_regs
        /repo/gcc-trunk/gcc/function.cc:1985
0xd111ff execute
        /repo/gcc-trunk/gcc/function.cc:2034
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.


Currently build with RTL checking enabled for the riscv64-unknown-linux-gnu
target fails.

Reply via email to