m68k-linux bootstrap broken
Roman Zippel
zippel@linux-m68k.org
Thu Jun 6 05:14:00 GMT 2002
Hi,
The following patch seems to break m68k-linux:
2002-02-20 Alexandre Oliva <aoliva@redhat.com>
* combine.c (do_SUBST): Sanity check substitutions of
CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
(subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
CONST_INT into its operand.
(known_cond): Likewise, for ZERO_EXTEND.
* simplify-rtx.c (simplify_unary_operation): Fix condition to
allow for simplification of wide modes. Reject CONST_INTs in
ZERO_EXTEND when their actual mode is not given.
The discussion about this patch is here:
http://gcc.gnu.org/ml/gcc-patches/2002-02/threads.html#00710
I attached the precompiled and a bit reduced file, which shows the
problem (a m68k-elf cross compiler should produce the same).
During cse this
(insn 2255 2254 523 (set (strict_low_part (subreg:QI (reg:SI 371) 3))
(reg:QI 372)) -1 (nil)
(expr_list:REG_EQUAL (zero_extend:SI (reg:QI 372))
(nil)))
becomes
(insn 2255 2254 546 (set (strict_low_part (subreg:QI (reg:SI 371) 3))
(reg:QI 102)) 38 {*m68k.md:1072} (nil)
(expr_list:REG_EQUAL (zero_extend:SI (const_int -72 [0xffffffb8]))
(nil)))
and gcse later dies on this. I need now some help to find the real
problem. Without above patch this transformation is still the same, so
that change isn't probably the real problem. I tried to find out why cse
is doing this, but I didn't get very far yet.
Any ideas?
bye, Roman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: typeck.i.gz
Type: application/octet-stream
Size: 46470 bytes
Desc:
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20020606/5443de1c/attachment.obj>
More information about the Gcc-bugs
mailing list