http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56246
Bug #: 56246 Summary: [4.8 regression] ICE in assign_by_spills, at lra-assigns.c:1262 Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: ppluzhni...@google.com Test case: void NoBarrier_AtomicExchange (long long *ptr) { while (__sync_val_compare_and_swap (ptr, 1, 0) ); } Using g++ (GCC) 4.8.0 20130205 (experimental): g++ -c -m32 -O2 -fPIC -fno-omit-frame-pointer test.ii test.ii: In function 'void NoBarrier_AtomicExchange(long long int*)': test.ii:3:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1262 } ^ 0x995de3 assign_by_spills ../../gcc/lra-assigns.c:1262 0x996a93 lra_assign() ../../gcc/lra-assigns.c:1419 0x992d11 lra(_IO_FILE*) ../../gcc/lra.c:2308 0x95ae78 do_reload ../../gcc/ira.c:4623 0x95ae78 rest_of_handle_reload ../../gcc/ira.c:4736 Please submit a full bug report, with preprocessed source if appropriate. Same crash after update to r195864.