[Bug target/20928] [4.0/4.1 regression] ICE: unrecognizable insns with -fPIC -O1
--- Comment #20 from hubicka at gcc dot gnu dot org 2005-10-31 18:45 --- Patch comitted. For some reason don't seem to appear in logs? -- hubicka at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928
[Bug target/20928] [4.0/4.1 regression] ICE: unrecognizable insns with -fPIC -O1
--- Comment #19 from pinskia at gcc dot gnu dot org 2005-10-31 17:16 --- (In reply to comment #18) > See comment #16 for a patch. More than that, it has been posted: http://gcc.gnu.org/ml/gcc-patches/2005-10/msg01792.html -- pinskia at gcc dot gnu dot org changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc- ||patches/2005- ||10/msg01792.html http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928
[Bug target/20928] [4.0/4.1 regression] ICE: unrecognizable insns with -fPIC -O1
--- Comment #18 from steven at gcc dot gnu dot org 2005-10-31 17:14 --- See comment #16 for a patch. -- steven at gcc dot gnu dot org changed: What|Removed |Added Keywords||patch http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928
[Bug target/20928] [4.0/4.1 regression] ICE: unrecognizable insns with -fPIC -O1
--- Comment #17 from mmitchel at gcc dot gnu dot org 2005-10-31 03:06 --- This prevents compiling a reasonably popular program; it's a showstopper. -- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P2 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928
[Bug target/20928] [4.0/4.1 regression] ICE: unrecognizable insns with -fPIC -O1
--- Comment #16 from hubicka at gcc dot gnu dot org 2005-10-30 18:00 --- testing fix that should make legitimize_pic_address correctly decompose the address. Similar to Steven's but I think it actually works ;) Index: config/i386/i386.c === --- config/i386/i386.c (revision 106026) +++ config/i386/i386.c (working copy) @@ -6016,7 +6016,18 @@ legitimize_pic_address (rtx orig, rtx re } else { - if (GET_CODE (addr) == CONST) + if (GET_CODE (addr) == CONST_INT + && !x86_64_immediate_operand (addr, VOIDmode)) + { + if (reg) + { + emit_move_insn (reg, addr); + new = reg; + } + else + new = force_reg (DImode, addr); + } + else if (GET_CODE (addr) == CONST) { addr = XEXP (addr, 0); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928
[Bug target/20928] [4.0/4.1 regression] ICE: unrecognizable insns with -fPIC -O1
--- Comment #15 from pinskia at gcc dot gnu dot org 2005-10-19 14:02 --- *** Bug 24443 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||dcb314 at hotmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928
[Bug target/20928] [4.0/4.1 regression] ICE: unrecognizable insns with -fPIC -O1
--- Comment #14 from pluto at agmk dot net 2005-10-19 13:50 --- (In reply to comment #13) > The testcase in comment #8 still triggers an ICE if run with -O -mtune=k8 > -fPIC. > it works with my patched gcc41: (...) .section.data.rel.ro,"aw",@progbits .align 8 .LC1: .quad bar+2147483648 (...) .text foo:movq.LC1(%rip), %rdx .L3:movq%rdx, (%rax) addq$8, %rax jne .L3 rep ; ret (...) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928