http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58595
Meador Inge <meadori at codesourcery dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |meadori at codesourcery dot com
--- Comment #2 from Meador Inge <meadori at codesourcery dot com> ---
I hit this problem as well. Here is a much reduced test case:
$ cat repro.c
struct state {
unsigned long last;
unsigned long current;
};
__thread struct state state;
void foo()
{
while (1) {
__sync_add_and_fetch_4(&state.current, (long) 1);
}
}
$ ./install/bin/arm-none-linux-gnueabi-gcc --version
arm-none-linux-gnueabi-gcc (GCC) 4.9.0 20140219 (experimental)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
meadori@build1-lucid-cs:/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline$
./install/bin/arm-none-linux-gnueabi-gcc -fPIC -O2 repro.c
repro.c: In function 'foo':
repro.c:13:1: internal compiler error: in gen_movsi, at config/arm/arm.md:6272
}
^
0x8b3ee69 gen_movsi(rtx_def*, rtx_def*)
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/config/arm/arm.md:6272
0x838853f insn_gen_fn::operator()(rtx_def*, rtx_def*) const
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/recog.h:284
0x844b2be emit_move_insn_1(rtx_def*, rtx_def*)
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/expr.c:3556
0x844b6f1 emit_move_insn(rtx_def*, rtx_def*)
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/expr.c:3650
0x8508d4a process_insert_insn
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/gcse.c:2133
0x85091f4 pre_edge_insert
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/gcse.c:2310
0x8509c2a pre_gcse
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/gcse.c:2641
0x8509d8a one_pre_gcse_pass
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/gcse.c:2696
0x850caa4 execute_rtl_pre
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/gcse.c:4127
0x850cba8 execute
/scratch/meadori/arm-none-linux-gnueabi-fsf-mainline/src/gcc-mainline/gcc/gcse.c:4186
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.