This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/19819] ICE when compiling aegis 4.20
- From: "danglin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Feb 2005 19:37:56 -0000
- Subject: [Bug target/19819] ICE when compiling aegis 4.20
- References: <20050208093505.19819.ralfixx@gmx.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From danglin at gcc dot gnu dot org 2005-02-27 19:37 -------
This appears to be a reload problem. The reason the insn isn't
recognized is that the REG_POINTER flag (f/frame-related) has been
lost. Under HP-UX the base register must be marked with the
REG_POINTER flag because the base register is used to determine
which space register to use for the insn. This matters under
HP-UX because the space registers forthe four memory quadrants
contain different values.
After the lreg pass, we have:
(note 1056 1055 1057 114 NOTE_INSN_DELETED)
(insn 1057 1056 1855 114 (set (reg/v:DF 237 [ x ])
(mem/s/j:DF (plus:SI (reg:SI 241)
(reg/v/f:SI 213 [ rp ])) [0 <variable>.data S8 A64])) 67 {*pa.md
:3791} (insn_list 1055 (nil))
(nil))
The ICE occurs in the greg pass where we now have the following rtl:
(note 1056 2195 2197 114 NOTE_INSN_DELETED)
(insn 2197 1056 2198 114 (set (reg:SI 1 %r1)
(mem:SI (plus:SI (reg/f:SI 30 %r30)
(const_int -292 [0xfffffedc])) [0 rp+0 S4 A32])) 37 {*pa.md:2265}
(nil)
(nil))
(insn 2198 2197 2196 114 (set (reg:DF 68 %fr22)
(mem/s/j:DF (plus:SI (reg:SI 21 %r21)
(reg:SI 1 %r1)) [0 <variable>.data S8 A64])) -1 (nil)
(nil))
At the moment, it's not clear where the flag is lost.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19819