------- Comment #5 from danglin at gcc dot gnu dot org 2008-02-18 03:00 ------- The problem starts in the gcse1 pass:
(insn 957 956 958 139 ../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:220 (set (reg/f:SI 735) (high:SI (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>))) 49 {*pa.md:3017} (nil)) (insn 958 957 962 139 ../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:220 (set (reg/f:SI 743) (lo_sum:SI (reg/f:SI 735) (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>))) 52 {*pa.md:3097} (expr_list:REG_EQUAL (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>) (nil))) (insn 962 958 963 139 ../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:220 (set (reg:SI 588) (const_int 1 [0x1])) 37 {*pa.md:2542} (nil)) (insn 963 962 964 139 ../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:220 (parallel [ ... (insn 958 957 962 139 ../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: 220 (set (reg/f:SI 743) (lo_sum:SI (reg/f:SI 735) (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>))) 52 {*pa.md:3097} (expr_list:REG_EQUAL (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>) (nil))) ... (insn 979 977 980 143 ../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: 225 (set (reg:SI 26 %r26) (lo_sum:SI (reg/f:SI 735) (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>))) 52 {*pa.md:3097} (expr_list:REG_EQUAL (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>) (nil))) ... (insn 1055 1053 1056 154 dcigettext.c:1102 (set (reg/v:SI 26 %r26 [ __r26 ]) (lo_sum:SI (reg/f:SI 735) (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>))) 52 {*pa.md:3097} (expr_list:REG_DEAD (reg/f:SI 735) (expr_list:REG_EQUAL (symbol_ref:SI ("lock.8450") [flags 0x2] <var_decl 0x40605840 lock>) (nil)))) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35193