[Bug target/71009] g++: ICE on modified gdb/valarith.c with -Ofast
egall at gwmail dot gwu.edu
gcc-bugzilla@gcc.gnu.org
Mon Jul 11 17:55:00 GMT 2016
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?
More information about the Gcc-bugs
mailing list