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

--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> 2011-02-17 14:31:59 
UTC ---
Another one:

[hjl@gnu-33 ilp32-23]$ cat x.i
struct gomp_team_state
{
  struct gomp_team_state *prev_ts;
  unsigned team_id;
  unsigned level;
};
struct gomp_thread
{
  void *data;
  struct gomp_team_state ts;
};
extern __thread struct gomp_thread gomp_tls_data;
int
foo (int level)
{
  struct gomp_team_state *ts = &gomp_tls_data.ts;
  if (level < 0 || level > ts->level)
    return -1;
  for (level = ts->level - level; level > 0; --level)
    ts = ts->prev_ts;
  return ts->team_id;
}
[hjl@gnu-33 ilp32-23]$ make
/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O2 -g  x.i
x.i: In function \u2018foo\u2019:
x.i:22:1: error: unrecognizable insn:
(insn 11 10 12 6 (set (reg:SI 78)
        (const:SI (plus:SI (symbol_ref:SI ("gomp_tls_data") [flags 0x60]
<var_decl 0x7f9c2345a000 gomp_tls_data>)
                (const_int 4 [0x4])))) x.i:19 -1
     (nil))
x.i:22:1: internal compiler error: in extract_insn, at recog.c:2109
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [x.s] Error 1
[hjl@gnu-33 ilp32-23]$

Reply via email to