This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/11320] [3.3 regression] [ia64] Reload bug
- From: "ebotcazou at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Jul 2003 11:25:21 -0000
- Subject: [Bug optimization/11320] [3.3 regression] [ia64] Reload bug
- References: <20030625143023.11320.schwab@suse.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11320
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2003-07-06 11:25:21
date| |
------- Additional Comments From ebotcazou at gcc dot gnu dot org 2003-07-06 11:25 -------
Confirmed on gcc version 3.3.1 20030703 (prerelease).
Preliminary investigations suggest that the culprit is the machine dependent
reorganisation pass, which swaps
(jump_insn 82 88 122 3 0x401b54c0 (set (pc)
(if_then_else (eq (reg:BI 262 p6 [361])
(const_int 0 [0x0]))
(label_ref 100)
(pc))) 214 {*br_true} (insn_list 81 (nil))
(expr_list:REG_DEAD (reg:BI 262 p6 [361])
(expr_list:REG_BR_PROB (const_int 5000 [0x1388])
(nil))))
(insn 96 122 159 4 0x401b54c0 (set (reg/f:DI 14 r14 [340])
(lo_sum:DI (reg:DI 14 r14 [365])
(symbol_ref/f:DI ("*.LC2")))) 12 {*load_symptr_low} (nil)
(expr_list:REG_EQUAL (symbol_ref/f:DI ("*.LC2"))
(nil)))
to produce
.mbb
ld8 r14 = [r14]
(p7) br.cond.dptk .L4
I don't know enough of IA-64 to say whether swapping back the instructions in
the assembly file is sufficient, or whether they should not have ended up in the
same bundle in the first place.