------- Comment #13 from jakub at gcc dot gnu dot org  2010-07-22 14:03 -------
So it is wrong already in *.split4:

(insn 256 255 258 2
/vol/gcc/src/hg/trunk/local/libjava/classpath/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java:117
(set (reg:DI 1 %g1 [328])
        (ashift:DI (reg:DI 1 %g1 [327])
            (const_int 12 [0xc]))) 356 {*ashldi3_sp64} (nil))

(insn 258 256 263 2
/vol/gcc/src/hg/trunk/local/libjava/classpath/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java:117
(set (mem/f/c/i:DI (lo_sum:DI (reg:DI 1 %g1 [328])
                (symbol_ref:DI
("_ZN3gnu5javax5print3ipp9attribute8defaults17FinishingsDefault15EDGE_STITCH_TOPE")
[flags 0x2]  <var_decl fe7c0cc0EDGE_STITCH_TOP>)) [30 EDGE_STITCH_TOP+0 S8
A64])
        (reg/f:DI 21 %l5 [324])) 60 {*movdi_insn_sp64} (expr_list:REG_DEAD
(reg/f:DI 21 %l5 [324])
        (expr_list:REG_DEAD (reg:DI 1 %g1 [328])
            (nil))))

(call_insn 263 258 266 2
/vol/gcc/src/hg/trunk/local/libjava/classpath/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java:123
(parallel [
            (set (reg:DI 8 %o0)
                (call (mem:DI (symbol_ref:DI ("_Jv_AllocObjectNoFinalizer")
[flags 0x41]  <function_decl fe798280 _Jv_AllocObjectNoFinalizer>) [0 S8 A64])
                    (const_int 0 [0])))
            (clobber (reg:DI 15 %o7))
        ]) 388 {*call_value_symbolic_sp64} (nil)
    (expr_list:REG_DEP_TRUE (use (reg:DI 8 %o0))
        (nil)))

(debug_insn 266 263 267 2
/vol/gcc/src/hg/trunk/local/libjava/classpath/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java:123
(var_location:DI this (reg/f:DI 1 %g1 [332])) -1 (nil))

This can't be right, %g1 as call clobbered register should have undefined value
after the call (and, nothing really meaningful before the call).
Could you attach -fdump-rtl-expand and -fdump-tree-optimized?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45028

Reply via email to