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

            Bug ID: 115452
           Summary: ICE when dump stv2 for gcc.target/i386/pr70322-2.c
                    with -march=cascadelake
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: liuhongt at gcc dot gnu.org
  Target Milestone: ---

gcc -m32 -march=cascadelake ./gcc/testsuite/gcc.target/i386/pr70322-2.c -mstv
-mno-bmi -S -Os -fdump-rtl-stv2-details

./gcc/testsuite/gcc.target/i386/pr70322-2.c: In function ‘foo’:
./gcc/testsuite/gcc.target/i386/pr70322-2.c:12:1: internal compiler error: RTL
check: expected code 'reg', have 'subreg' in rhs_regno, at rtl.h:1934
   12 | }
      | ^
0x88ef75 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
        ./gcc/rtl.cc:770
0x96be78 rhs_regno(rtx_def const*)
        ./gcc/rtl.h:1934
0x96cd8d rhs_regno(rtx_def const*)
        ./genrtl.h:38
0x96cd8d convert_op
        ./gcc/config/i386/i386-features.cc:1056
0x1af7711 convert_insn
        ./gcc/config/i386/i386-features.cc:1468
0x1af9808 convert
        ./gcc/config/i386/i386-features.cc:1987
0x1af9808 convert_scalars_to_vector
        ./gcc/config/i386/i386-features.cc:2536
0x1af9808 execute
       ./gcc/config/i386/i386-features.cc:2750


------------cut from i386-features.cc:1056---------------

      if (dump_file)
        fprintf (dump_file, "  Preloading operand for insn %d into r%d\n",
                 INSN_UID (insn), REGNO (tmp));
--------------cut end-------------------------------

Looks like tmp is SUBREG.

Reply via email to