Jivan Hakobyan <jivanhakoby...@gmail.com> writes: >> >> The amdgcn ICE I reported still exists: > > > Can you send a build command to reproduce ICE. > I built on x86-64, RV32/64, and did not get any faults.
The ICE that Andrew reported relies on configuring with: --enable-checking=yes,extra,rtl since rtl checking isn't enabled by default. Thanks, Richard > > On Tue, Nov 28, 2023 at 7:08 PM Andrew Stubbs <a...@codesourcery.com> wrote: > >> On 28/11/2023 06:06, Jeff Law wrote: >> > - Verify we have a SUBREG before looking at SUBREG_BYTE. >> >> The amdgcn ICE I reported still exists: >> >> > conftest.c:16:1: internal compiler error: RTL check: expected code >> 'subreg', have 'reg' in ext_dce_process_uses, at ext-dce.cc:417 >> > 16 | } >> > | ^ >> > 0x8c7b21 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, >> int, char const*) >> >>......./scratch/astubbs/omp/upA/gcnbuild/src/gcc-mainline/gcc/rtl.cc:770 >> > 0xa768e0 ext_dce_process_uses >> >> >>......./scratch/astubbs/omp/upA/gcnbuild/src/gcc-mainline/gcc/ext-dce.cc:417 >> > 0x1aed4bc ext_dce_process_bb >> >> >>......./scratch/astubbs/omp/upA/gcnbuild/src/gcc-mainline/gcc/ext-dce.cc:643 >> > 0x1aed4bc ext_dce >> >> >>......./scratch/astubbs/omp/upA/gcnbuild/src/gcc-mainline/gcc/ext-dce.cc:794 >> > 0x1aed4bc execute >> >> >>......./scratch/astubbs/omp/upA/gcnbuild/src/gcc-mainline/gcc/ext-dce.cc:862 >> > 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. >> > configure:3812: $? = 1 >> > configure: failed program was: >> > | /* confdefs.h */ >> > | #define PACKAGE_NAME "GNU C Runtime Library" >> > | #define PACKAGE_TARNAME "libgcc" >> > | #define PACKAGE_VERSION "1.0" >> > | #define PACKAGE_STRING "GNU C Runtime Library 1.0" >> > | #define PACKAGE_BUGREPORT "" >> > | #define PACKAGE_URL "http://www.gnu.org/software/libgcc/" >> > | /* end confdefs.h. */ >> > | >> > | int >> > | main () >> > | { >> > | >> > | ; >> > | return 0; >> > | } >> >> I think the test is maybe backwards? >> >> /* ?!? How much of this should mirror SET handling, potentially >> being shared? */ >> if (SUBREG_BYTE (dst).is_constant () && SUBREG_P (dst)) >> >> Andrew >>