This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/29519] [4.2 Regression] Bad code on MIPS with -fnon-call-exceptions
- 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: 19 Oct 2006 23:10:44 -0000
- Subject: [Bug middle-end/29519] [4.2 Regression] Bad code on MIPS with -fnon-call-exceptions
- References: <bug-29519-7151@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from pinskia at gcc dot gnu dot org 2006-10-19 23:10 -------
Expand does:
;; return t->f13 == 4294967295B
(insn 10 9 11 (set (reg/f:SI 196)
(mem/s/f/j:SI (reg/v/f:SI 194 [ t ]) [0 <variable>.f13+0 S4 A32])) -1
(nil)
(nil))
(insn 11 10 12 (set (reg:SI 198)
(plus:SI (reg/f:SI 196)
(const_int 1 [0x1]))) -1 (nil)
(nil))
(insn 12 11 13 (set (reg:SI 197)
(eq:SI (reg:SI 198)
(const_int 0 [0x0]))) -1 (nil)
(nil))
(insn 13 12 14 (set (reg:SI 193 [ <result> ])
(reg:SI 197)) -1 (nil)
(nil))
(jump_insn 14 13 15 (set (pc)
(label_ref 0)) -1 (nil)
(nil))
And then CSE1 changes that into:
(insn 6 8 7 2 (set (reg/v/f:SI 194 [ t ])
(reg:SI 4 $4 [ t ])) 213 {*movsi_internal} (nil)
(expr_list:REG_EQUIV (mem/f/c/i:SI (reg/f:SI 77 $arg) [0 t+0 S4 A32])
(nil)))
(note 7 6 10 2 NOTE_INSN_FUNCTION_BEG)
(insn 10 7 16 2 (set (reg/f:SI 196 [ <variable>.f13 ])
(mem/s/f/j:SI (reg/v/f:SI 194 [ t ]) [0 <variable>.f13+0 S4 A32])) 213
{*movsi_internal} (nil)
(nil))
(note 16 10 19 2 NOTE_INSN_FUNCTION_END)
(insn 19 16 20 2 (asm_input ("")) -1 (nil)
(nil))
(insn 20 19 26 2 (set (reg/i:SI 2 $2 [ <result> ])
(const_int 0 [0x0])) 213 {*movsi_internal} (nil)
(nil))
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|target |middle-end
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29519