This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 3.0.3 Prelease problem on --target=m68k-elf
- From: Peter Barada <pbarada at mail dot wm dot sps dot mot dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 13 Dec 2001 20:10:05 -0500
- Subject: Re: GCC 3.0.3 Prelease problem on --target=m68k-elf
gcc-3.0.3-20011213 builds with the following config.status:
#!/bin/sh
# This file was generated automatically by configure. Do not edit.
# This directory was configured as follows:
/home/pbarada/work/cvs-wavemark/cross-linux-tools/gcc-3.0.3-20011213/configure --with-gcc-version-trigger=/home/pbarada/work/cvs-wavemark/cross-linux-tools/gcc-3.0.3-20011213/gcc/version.c --host=i686-pc-linux-gnu --target=m68k-elf --prefix=/tmp/crap5 --enable-languages=c --with-local-prefix=/tmp/crap5/m68k-elf --without-headers --with-newlib --disable-shared --norecursion
#
Unfortunately it doesn't produce correct code for -m5200 due to the
"r" constraint in the following pattern in gcc/config/m68k/m68k.md:
;; Jump to variable address from dispatch table of relative addresses.
(define_insn ""
[(set (pc)
(plus:SI (pc)
(sign_extend:SI (match_operand:HI 0 "register_operand" "r"))))
(use (label_ref (match_operand 1 "" "")))]
""
On Coldfire the ext.l instruction can only extend data registers, not
address registers, so either the constraint needs to be changed to
"d", or another pettern needs to be created for TARGET_5200 with a "d"
constraint, and this needs a condition of !TARGET_5200.
--
Peter Barada Peter.Barada@motorola.com
Wizard 781-852-2768 (direct)
WaveMark Solutions(wholly owned by Motorola) 781-270-0193 (fax)