------- Comment #3 from pinskia at gcc dot gnu dot org 2006-04-23 16:10 ------- Also here is the backtrace: #0 split_di (operands=0xc0c768, num=0, lo_half=0x7fffff89ab58, hi_half=0x7fffff89ab48) at /home/pinskia/src/newtest/trunk/gcc/config/i386/i386.c:8037 #1 0x00000000007ff0eb in ix86_expand_branch (code=<value optimized out>, label=0x2aaaaae037d0) at /home/pinskia/src/newtest/trunk/gcc/config/i386/i386.c:10196 #2 0x00000000006c0ec6 in gen_bne (operand0=0x2aaaaae037d0) at i386.md:12951 #3 0x0000000000725a1b in expand_compare_and_swap_loop (mem=0x2aaaaafb3d20, old_reg=0x2aaaaafb3d40, new_reg=0x2aaaaafb3f60, seq=<value optimized out>) at /home/pinskia/src/newtest/trunk/gcc/optabs.c:5960 #4 0x000000000072bfdc in expand_sync_operation (mem=0x2aaaaafb3d20, val=<value optimized out>, code=AND) at /home/pinskia/src/newtest/trunk/gcc/optabs.c:6048 #5 0x0000000000533587 in expand_builtin (exp=0x2aaaaae03410, target=0xafafafafafafafaf, subtarget=0x0, mode=12633960, ignore=13) at /home/pinskia/src/newtest/trunk/gcc/builtins.c:6279 #6 0x00000000005c37ae in expand_expr_real_1 (exp=<value optimized out>, target=<value optimized out>, tmode=<value optimized out>, modifier=EXPAND_NORMAL, alt_rtl=0x0) at /home/pinskia/src/newtest/trunk/gcc/expr.c:7584
This proves this is a target specific bug. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27266