This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/69245] [6 Regression] ICE in extract_insn, at recog.c:2286 on arm-linux-gnueabihf


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69245

--- Comment #13 from James Greenhalgh <jgreenhalgh at gcc dot gnu.org> ---
This is a similar case I reduced from the Ubuntu rebuild failures, hitting the
"max" idiom recognition:

---

#pragma GCC push_options
#pragma GCC target("fpu=crypto-neon-fp-armv8")
static void
foo (void)
{
}
#pragma GCC pop_options
float
max_idiom (float x, float y)
{
  return x > y ? x : y;
}

---

Compile with -march=armv7-a -mfloat-abi=hard -mfpu=neon -O2 -ffast-math

Presumably the same root cause.

bug.c:12:1: error: unrecognizable insn:
 }
 ^

(insn 7 4 8 2 (set (reg:SF 113)
        (smax:SF (reg/v:SF 112 [ y ])
            (reg/v:SF 111 [ x ]))) bug2.c:11 -1
     (nil))

bug.c:12:1: internal compiler error: in extract_insn, at recog.c:2286
0xa411e9 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        .../gcc/rtl-error.c:108
0xa41208 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        .../gcc/rtl-error.c:116
0xa1404d extract_insn(rtx_insn*)
        .../gcc/recog.c:2286
0x82b664 instantiate_virtual_regs_in_insn
        .../gcc/function.c:1582
0x82b664 instantiate_virtual_regs
        .../gcc/function.c:1950
0x82b664 execute
        .../gcc/function.c:1999
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]