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;
}

==============================================

Reply via email to