This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/71009] g++: ICE on modified gdb/valarith.c with -Ofast
- From: "egall at gwmail dot gwu.edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 11 Jul 2016 17:55:21 +0000
- Subject: [Bug target/71009] g++: ICE on modified gdb/valarith.c with -Ofast
- Auto-submitted: auto-generated
- References: <bug-71009-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71009
--- Comment #6 from Eric Gallager <egall at gwmail dot gwu.edu> ---
I investigated more. What's happening at ../../gcc/emit-rtl.c:1025 is that the
following assert is failing:
gcc_assert (can_create_pseudo_p ());
This fails if and only if gen_reg_rtx is passed V2DImode as its mode parameter.
I tried editing emit-rtl.c to make the assert conditional, like this:
if (mode != V2DImode)
gcc_assert (can_create_pseudo_p ());
...but that only resulted in a different error:
valarith.c: In function ‘value* value_binop(value*, value*, exp_opcode)’:
valarith.c:1408:1: error: insn does not satisfy its constraints:
(insn 3157 1585 3158 192 (set (reg:V2DI 1029)
(vec_concat:V2DI (mem/c:DI (reg/f:SI 7 sp) [50 %sfp+-64 S8 A128])
(const_int 0 [0]))) valarith.c:1180 3653 {vec_concatv2di}
(nil))
Breakpoint 1, internal_error (gmsgid=0x15ee807 "in %s, at %s:%d") at
../../gcc/diagnostic.c:1337
1337 va_start (ap, gmsgid);
Any ideas what's going on?