https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89527
Bug ID: 89527 Summary: GCC ICE internal compiler error during RTL pass: mach on arm/thumb2 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: raj.khem at gmail dot com Target Milestone: --- While compiling glibc-2.29, timezone/zic, gcc started to ICE( this was working ok few weeks ago), this only happens when compiling with thumb2, it works ok in arm mode. $ ../../recipe-sysroot-native/usr/bin/arm-yoe-linux-gnueabi/arm-yoe-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/mnt/a/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/glibc/2.29-r0/recipe-sysroot a.c -c a.c: In function 'foo': a.c:9:1: error: unrecognizable insn: 9 | } | ^ (insn 33 32 23 2 (parallel [ (set (reg:CC 100 cc) (compare:CC (reg:SI 3 r3 [ min_year.0_1+4 ]) (const_int -2147483648 [0xffffffff80000000]))) (set (reg:SI 3 r3 [113]) (minus:SI (plus:SI (reg:SI 3 r3 [ min_year.0_1+4 ]) (const_int -2147483648 [0xffffffff80000000])) (ltu:SI (reg:CC_C 100 cc) (const_int 0 [0])))) ]) "a.c":6:6 -1 (nil)) during RTL pass: mach a.c:9:1: internal compiler error: in extract_insn, at recog.c:2310 Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. ============================================== reduced testcase a.c ============================================== static long long int min_year; void foo() { enum { years_of_observations = 400 + 2 }; if (min_year >= (-9223372036854775807LL -1) + years_of_observations) return; } ==============================================