https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112337
Bug ID: 112337 Summary: arm: ICE in arm_effective_regno Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: stammark at gcc dot gnu.org Target Milestone: --- Hi all, I found this ICE when compiling CMSIS-NN with latest trunk: ./build-arm-eabi-armv8.1-m.main+mve.fp+fp.dp/install/bin/arm-eabi-gcc -mcpu=cortex-m55 ~/gnu/CMSIS-NN/Source/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_padded_s8.c -I ~/gnu/CMSIS-NN/Include/ -O3 -S during RTL pass: ira /home/stamar01/gnu/CMSIS-NN/Source/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_padded_s8.c: In function 'arm_nn_depthwise_conv_nt_t_padded_s8': /home/stamar01/gnu/CMSIS-NN/Source/NNSupportFunctions/arm_nn_depthwise_conv_nt_t_padded_s8.c:172:1: internal compiler error: in arm_effective_regno, at config/arm/arm.cc:13671 172 | } | ^ 0x1b590f2 arm_effective_regno /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/arm.cc:13671 0x1b5923a mve_vector_mem_operand(machine_mode, rtx_def*, bool) /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/arm.cc:13701 0x23015c2 mve_memory_operand(rtx_def*, machine_mode) /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/predicates.md:39 0x23d79fa recog_235 /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/mve.md:3636 0x241db9c recog_287 /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/neon.md:6161 0x24540af recog_344 /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/mve.md:6390 0x2459355 recog(rtx_def*, rtx_insn*, int*) /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/sync.md:462 0x15663f5 insn_invalid_p(rtx_insn*, bool) /home/stamar01/gnu/v8.X-M/src/gcc/gcc/recog.cc:358 0x15667ad verify_changes(int) /home/stamar01/gnu/v8.X-M/src/gcc/gcc/recog.cc:469 0x1350f89 equiv_can_be_consumed_p /home/stamar01/gnu/v8.X-M/src/gcc/gcc/ira-costs.cc:1767 0x13518f0 calculate_equiv_gains /home/stamar01/gnu/v8.X-M/src/gcc/gcc/ira-costs.cc:1887 0x1351fbe find_costs_and_classes /home/stamar01/gnu/v8.X-M/src/gcc/gcc/ira-costs.cc:2007 0x135404c ira_costs() /home/stamar01/gnu/v8.X-M/src/gcc/gcc/ira-costs.cc:2564 0x1347e82 ira_build() /home/stamar01/gnu/v8.X-M/src/gcc/gcc/ira-build.cc:3481 0x133d895 ira /home/stamar01/gnu/v8.X-M/src/gcc/gcc/ira.cc:5793 0x133e215 execute /home/stamar01/gnu/v8.X-M/src/gcc/gcc/ira.cc:6117 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. opening this up in GDB I see that: #1 0x0000000001b590f3 in arm_effective_regno (op=0x7ffff6e130a8, strict=false) at /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/arm.cc:13671 13671 gcc_assert (REG_P (op)); (gdb) p debug_rtx (op) (mem/f/c:SI (plus:SI (reg/f:SI 103 afp) (const_int 28 [0x1c])) [2 output_bias+0 S4 A32]) And slightly further up: #3 0x00000000023015c3 in mve_memory_operand (op=0x7ffff6e24b70, mode=E_V4SImode) at /home/stamar01/gnu/v8.X-M/src/gcc/gcc/config/arm/predicates.md:39 39 && mve_vector_mem_operand (GET_MODE (op), XEXP (op, 0), (gdb) p debug_rtx (op) (mem:V4SI (post_inc:SI (mem/f/c:SI (plus:SI (reg/f:SI 103 afp) (const_int 28 [0x1c])) [2 output_bias+0 S4 A32])) [0 MEM[(int[4] *)bias_176]+0 S16 A32]) I've started a bisect.