http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52199

             Bug #: 52199
           Summary: V2DI vec_duplicate ICE on valid code
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: berg...@gcc.gnu.org


GCC ICEs on the reduced test case below:

bergner@igoo:~> cat v2di-ice.i 
struct locale_time_t
{
  const char *abday[7];
  const unsigned int *wabday[7];
};

static const unsigned int empty_wstr[1] = { 0 };

void
time_read (struct locale_time_t *time)
{
  int cnt;

  for (cnt=0; cnt < 7; cnt++)
    {
      time->abday[cnt] = "";
      time->wabday[cnt] = empty_wstr;
    }
}

bergner@igoo:~> /home/bergner/gcc/build/gcc-mainline/gcc/xgcc
-B/home/bergner/gcc/build/gcc-mainline/gcc -O3 -fmerge-all-constants
-mcpu=power7 -S v2di-ice.i 
v2di-ice.i: In function ‘time_read’:
v2di-ice.i:19:1: error: unrecognizable insn:
(insn 116 115 117 7 (set (reg:V2DI 234)
        (vec_duplicate:V2DI (symbol_ref:DI ("empty_wstr") [flags 0x82]
<var_decl 0xfff8ff40140 empty_wstr>))) v2di-ice.i:17 -1
     (nil))
v2di-ice.i:19:1: internal compiler error: in extract_insn, at recog.c:2123
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to