This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/12280] [3.4 Regression] unrecognizable insn on simple Java code
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Sep 2003 23:31:41 -0000
- Subject: [Bug optimization/12280] [3.4 Regression] unrecognizable insn on simple Java code
- References: <20030914210917.12280.bothner@gcc.gnu.org>
- 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=12280
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|java |optimization
Ever Confirmed| |1
GCC build triplet|i686-pc-linux-gnu |
GCC host triplet|i686-pc-linux-gnu |
Keywords| |ice-on-valid-code
Last reconfirmed|0000-00-00 00:00:00 |2003-09-14 23:31:40
date| |
Summary|unrecognizable insn on |[3.4 Regression]
|simple Java code |unrecognizable insn on
| |simple Java code
Target Milestone|--- |3.4
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-09-14 23:31 -------
I can confirm this on the mainline (20030914). This is a regression from 3.3.
Note this is a target bug not a java bug because it compiles just fine on powerpc-apple-darwin6.6.
The problem is that combine is combining two insn which should not be combined (I thought I saw
a bug about this before but I cannot find it right now):
(insn 4 3 5 0 Dup.java:8 (set (reg/v/f:SI 59 [ type ])
(mem/f:SI (plus:SI (reg/f:SI 16 argp)
(const_int 4 [0x4])) [0 type+0 S4 A32])) 38 {*movsi_1} (nil)
(expr_list:REG_EQUIV (mem/f:SI (plus:SI (reg/f:SI 16 argp)
(const_int 4 [0x4])) [0 type+0 S4 A32])
(nil)))
(insn 10 9 35 0 Dup.java:8 (set (reg:CCGC 17 flags)
(compare:CCGC (mem/s/j:SI (plus:SI (reg/v/f:SI 59 [ type ])
(const_int 4 [0x4])) [0 <variable>.size+0 S4 A32])
(const_int 4 [0x4]))) 2 {*cmpsi_1_insn} (insn_list 4 (nil))
(expr_list:REG_UNUSED (reg:CCGC 17 flags)
(nil)))
into:
(insn 35 10 36 0 Dup.java:8 (set (reg:CCGC 17 flags)
(compare:CCGC (mem/s/j:SI (plus:SI (mem/f:SI (plus:SI (reg/f:SI 16 argp)
(const_int 4 [0x4])) [0 type+0 S4 A32])
(const_int 4 [0x4])) [0 <variable>.size+0 S4 A32])
(const_int 5 [0x5]))) -1 (nil)
(expr_list:REG_DEAD (reg/v/f:SI 59 [ type ])
(nil)))