[Bug middle-end/13938] [3.5 Regression] ICE when rounding double to long long
zlomek at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Feb 5 10:24:00 GMT 2004
------- Additional Comments From zlomek at gcc dot gnu dot org 2004-02-05 10:23 -------
This is caused by
2004-01-19 Jan Hubicka <jh@suse.cz>
* emit-rtl.c (verify_rtx_sharing, copy_insn_1,
emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
containing hard regs are shared.
(gen_hard_reg_clobber): New function.
(hard_reg_clobbers): New array.
* genemit.c (gen_exp): Use gen_hard_reg_clobber.
(copy_rtx): Do not copy clobbers containing hard regs.
* rtl.h (gen_hard_reg_clobber): Declare.
The problem is that clobber in
(insn 57 17 59 1 (parallel [
(set (mem:DI (plus:SI (reg/f:SI 6 bp)
(const_int -16 [0xfffffff0])) [0 S8 A8])
(fix:DI (reg/v:DF 9 st(1) [orig:59 x ] [59])))
(use (mem:HI (plus:SI (reg/f:SI 6 bp)
(const_int -2 [0xfffffffe])) [0 S2 A8]))
(use (mem:HI (plus:SI (reg/f:SI 6 bp)
(const_int -4 [0xfffffffc])) [0 S2 A8]))
(clobber (reg:DF 9 st(1)))
]) 146 {fix_truncdi_memory} (insn_list 17 (insn_list 48 (insn_list 51
(nil))))
(expr_list:REG_DEAD (reg/v:DF 9 st(1) [orig:59 x ] [59])
(expr_list:REG_UNUSED (reg/v:DF 9 st(1) [orig:59 x ] [59])
(nil))))
is shared with
(insn 89 23 90 3 (parallel [
(set (mem:DI (plus:SI (reg/f:SI 6 bp)
(const_int -16 [0xfffffff0])) [0 S8 A8])
(fix:DI (reg:DF 8 st)))
(use (mem:HI (plus:SI (reg/f:SI 6 bp)
(const_int -2 [0xfffffffe])) [0 S2 A8]))
(use (mem:HI (plus:SI (reg/f:SI 6 bp)
(const_int -4 [0xfffffffc])) [0 S2 A8]))
(clobber (reg:DF 9 st(1)))
]) 146 {fix_truncdi_memory} (insn_list 23 (insn_list 85 (insn_list 88
(nil))))
(expr_list:REG_DEAD (reg:DF 8 st)
(nil)))
but in the first insn there should be
(clobber (reg/v:DF 9 st(1)))
instead of
(clobber (reg:DF 9 st(1)))
This bug is probably the same as PR/13893
--
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2004-02-01 19:02:06 |2004-02-05 10:23:56
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13938
More information about the Gcc-bugs
mailing list