https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105479
Bug ID: 105479 Summary: ICE in subreg_size_lowpart_offset, at emit-rtl.cc:1673 Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, ra Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: aarch64-linux-gnu gfortran 13.0.0 20220501 snapshot (g:75bbc3da3e5f75f683fa33e309045c582efd20eb) ICEs when compiling the following testcase, extracted from test/f90_correct/src/ei10.F90 from the Classic Flang test suite, w/ -mcpu=a64fx -O2 -fnon-call-exceptions -ftrapv: subroutine copy_str_to_result( str, result) integer :: result(:) character(len=*) :: str integer :: i do i=1,len(str) result(i) = iachar(str(i:i)) enddo end subroutine % aarch64-linux-gnu-gfortran-13.0.0 -mcpu=a64fx -O2 -fnon-call-exceptions -ftrapv -c vdhfytlt.f90 during RTL pass: reload vdhfytlt.f90:10:14: 10 | end subroutine | ^ internal compiler error: in subreg_size_lowpart_offset, at emit-rtl.cc:1673 0x6d94a8 subreg_size_lowpart_offset(poly_int<2u, unsigned long>, poly_int<2u, unsigned long>) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/emit-rtl.cc:1673 0xb8d4fa gen_lowpart_SUBREG(machine_mode, rtx_def*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/emit-rtl.cc:1037 0xdea08f emit_spill_move /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/lra-constraints.cc:1245 0xdec749 split_reg /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/lra-constraints.cc:5915 0xded2e9 split_if_necessary /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/lra-constraints.cc:6101 0xdfb200 inherit_in_ebb /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/lra-constraints.cc:6633 0xdfb200 lra_inheritance() /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/lra-constraints.cc:6958 0xde1d4c lra(_IO_FILE*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/lra.cc:2404 0xd98189 do_reload /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/ira.cc:5940 0xd98189 execute /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220501/work/gcc-13-20220501/gcc/ira.cc:6126