[Bug target/63805] New: [4.9/4.8/5 Regression] ICE: in extract_insn, at recog.c:2154 with -mcpu=power8

trippels at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 10 12:01:00 GMT 2014


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

            Bug ID: 63805
           Summary: [4.9/4.8/5 Regression] ICE: in extract_insn, at
                    recog.c:2154 with -mcpu=power8
           Product: gcc
           Version: 4.8.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
              Host: powerpc64-unknown-linux-gnu
            Target: powerpc64-unknown-linux-gnu

trippels@gcc2-power8 status % cat freelist_test.ii
template <typename _Tp> struct A
{
  _Tp _M_i;
  void
  load ()
  {
    _Tp a;
    __atomic_load (&_M_i, &a, 0);
  }
};
class B
{
  int *ptr;
  int tag;
};
class C
{
public:
  template <typename Allocator> C (Allocator, int);
  template <bool, int>
  void
  construct ()
  {
    pool_.load ();
  }
  A<B> pool_;
};
class D
{
  int *px;
  int pn;
};
class F
{
public:
  F (int);
};
class G
{
public:
  G (int) : p_predicate_value (0) {}
  class readonly_property61 : F
  {
  public:
    readonly_property61 (int) : F (0) {}
  } p_predicate_value;
  D m_message;
};
void report_assertion (G);
template <typename, int threadsafe, int bounded>
void
run_test ()
{
  C b (0, 0);
  b.construct<threadsafe, bounded> ();
  report_assertion (0);
}
template <bool bounded>
void
run_tests ()
{
  run_test<C, 0, bounded> ();
}
void
freelist_teststest_method ()
{
  run_tests<false> ();
}


trippels@gcc2-power8 status % /home/trippels/gcc_test/usr/local/bin/g++ -c
-mcpu=power8 -O2 freelist_test.ii
freelist_test.ii: In function ‘void freelist_teststest_method()’:
freelist_test.ii:68:1: error: unrecognizable insn:
 }
 ^
(insn 10 9 11 2 (set (reg:PTI 157)
        (unspec:PTI [
                (mem/v:TI (plus:DI (reg/f:DI 150 virtual-stack-vars)
                        (const_int 24 [0x18])) [-1  S16 A128])
            ] UNSPEC_LSQ)) freelist_test.ii:8 -1
     (nil))
freelist_test.ii:68:1: internal compiler error: in extract_insn, at
recog.c:2327
0x1094384b _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../gcc/gcc/rtl-error.c:110
0x1094389f _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../gcc/gcc/rtl-error.c:118
0x1090a587 extract_insn(rtx_insn*)
        ../../gcc/gcc/recog.c:2327
0x106d9a3b instantiate_virtual_regs_in_insn
        ../../gcc/gcc/function.c:1574
0x106d9a3b instantiate_virtual_regs
        ../../gcc/gcc/function.c:1942
0x106d9a3b execute
        ../../gcc/gcc/function.c:1991
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.


More information about the Gcc-bugs mailing list