[Bug bootstrap/45028] [4.6 regression] ICE building 64-bit libjava on Solaris 2/SPARC: output_operand: invalid expression as operand
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Jul 22 14:03:00 GMT 2010
------- 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
More information about the Gcc-bugs
mailing list