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.