Commit 7d33c31d by Kazu Hirata Committed by Kazu Hirata

config.gcc: Recognize fido.

gcc/
	* config.gcc: Recognize fido.
	* config/m68k/m68k-devices.def (fidoa): New.
	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define
	__mfido__.
	(FL_FIDOA, TARGET_FIDOA): New.
	* config/m68k/m68k.opt (mfidoa): New.

libgcc/
	* config.host: Recognize fido.

From-SVN: r123811
parent fd86239d
2007-04-14 Kazu Hirata <kazu@codesourcery.com>
* config.gcc: Recognize fido.
* config/m68k/m68k-devices.def (fidoa): New.
* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define
__mfido__.
(FL_FIDOA, TARGET_FIDOA): New.
* config/m68k/m68k.opt (mfidoa): New.
2007-04-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2007-04-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR middle-end/31322 PR middle-end/31322
......
...@@ -265,6 +265,10 @@ ep9312*-*-*) ...@@ -265,6 +265,10 @@ ep9312*-*-*)
;; ;;
frv*) cpu_type=frv frv*) cpu_type=frv
;; ;;
fido-*-*)
cpu_type=m68k
extra_headers=math-68881.h
;;
xscale-*-*) xscale-*-*)
cpu_type=arm cpu_type=arm
extra_headers="mmintrin.h" extra_headers="mmintrin.h"
...@@ -1508,12 +1512,36 @@ m68k-*-coff*) ...@@ -1508,12 +1512,36 @@ m68k-*-coff*)
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h" tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
use_fixproto=yes use_fixproto=yes
;; ;;
m68020-*-elf* | m68k-*-elf*) m68020-*-elf* | m68k-*-elf* | fido-*-elf*)
default_m68k_cpu=68020 case ${target} in
default_cf_cpu=5206 fido-*-elf*)
# Check that $with_cpu makes sense.
case $with_cpu in
"" | "fidoa")
;;
*)
echo "Cannot accept --with-cpu=$with_cpu"
exit 1
;;
esac
with_cpu=fidoa
;;
*)
default_m68k_cpu=68020
default_cf_cpu=5206
;;
esac
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h" tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
tm_defines="${tm_defines} MOTOROLA=1 USE_GAS" tm_defines="${tm_defines} MOTOROLA=1 USE_GAS"
tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf m68k/t-mlibs" tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
# Add multilibs for targets other than fido.
case ${target} in
fido-*-elf*)
;;
*)
tmake_file="$tmake_file m68k/t-mlibs"
;;
esac
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
;; ;;
m68010-*-netbsdelf* | m68k*-*-netbsdelf*) m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
...@@ -2838,7 +2866,7 @@ case "${target}" in ...@@ -2838,7 +2866,7 @@ case "${target}" in
esac esac
;; ;;
m680[012]0-*-* | m68k*-*-*) fido-*-* | m680[012]0-*-* | m68k*-*-*)
supported_defaults="arch cpu" supported_defaults="arch cpu"
case "$with_arch" in case "$with_arch" in
"" | "m68k"| "cf") "" | "m68k"| "cf")
...@@ -3132,7 +3160,7 @@ case ${target} in ...@@ -3132,7 +3160,7 @@ case ${target} in
fi fi
;; ;;
m680[012]0-*-* | m68k*-*-*) fido*-*-* | m680[012]0-*-* | m68k*-*-*)
target_cpu_default2=$m68k_cpu_ident target_cpu_default2=$m68k_cpu_ident
if [ x"$m68k_arch_family" != x ]; then if [ x"$m68k_arch_family" != x ]; then
tmake_file="m68k/t-$m68k_arch_family $tmake_file" tmake_file="m68k/t-$m68k_arch_family $tmake_file"
......
...@@ -142,3 +142,6 @@ M68K_DEVICE ("5483", mcf5483, "5485", "5475", cfv4e, isa_b, FL_CF_USP ...@@ -142,3 +142,6 @@ M68K_DEVICE ("5483", mcf5483, "5485", "5475", cfv4e, isa_b, FL_CF_USP
M68K_DEVICE ("5484", mcf5484, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) M68K_DEVICE ("5484", mcf5484, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU)
M68K_DEVICE ("5485", mcf5485, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) M68K_DEVICE ("5485", mcf5485, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU)
M68K_DEVICE ("548x", mcf548x, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) M68K_DEVICE ("548x", mcf548x, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU)
/* Fido processor. */
M68K_DEVICE ("fidoa", fidoa, "cpu32", "fidoa", cpu32, isa_cpu32, FL_FIDOA | FL_MMU)
...@@ -187,6 +187,9 @@ Boston, MA 02110-1301, USA. */ ...@@ -187,6 +187,9 @@ Boston, MA 02110-1301, USA. */
if (TARGET_CF_HWDIV) \ if (TARGET_CF_HWDIV) \
builtin_define ("__mcfhwdiv__"); \ builtin_define ("__mcfhwdiv__"); \
\ \
if (TARGET_FIDOA) \
builtin_define ("__mfido__"); \
\
builtin_assert ("cpu=m68k"); \ builtin_assert ("cpu=m68k"); \
builtin_assert ("machine=m68k"); \ builtin_assert ("machine=m68k"); \
} \ } \
...@@ -220,6 +223,7 @@ Boston, MA 02110-1301, USA. */ ...@@ -220,6 +223,7 @@ Boston, MA 02110-1301, USA. */
#define FL_ISA_APLUS (1 << 14) #define FL_ISA_APLUS (1 << 14)
#define FL_ISA_B (1 << 15) #define FL_ISA_B (1 << 15)
#define FL_ISA_C (1 << 16) #define FL_ISA_C (1 << 16)
#define FL_FIDOA (1 << 17)
#define FL_MMU 0 /* Used by multilib machinery. */ #define FL_MMU 0 /* Used by multilib machinery. */
#define TARGET_68010 ((m68k_cpu_flags & FL_ISA_68010) != 0) #define TARGET_68010 ((m68k_cpu_flags & FL_ISA_68010) != 0)
...@@ -228,6 +232,7 @@ Boston, MA 02110-1301, USA. */ ...@@ -228,6 +232,7 @@ Boston, MA 02110-1301, USA. */
#define TARGET_COLDFIRE ((m68k_cpu_flags & FL_COLDFIRE) != 0) #define TARGET_COLDFIRE ((m68k_cpu_flags & FL_COLDFIRE) != 0)
#define TARGET_COLDFIRE_FPU (m68k_fpu == FPUTYPE_COLDFIRE) #define TARGET_COLDFIRE_FPU (m68k_fpu == FPUTYPE_COLDFIRE)
#define TARGET_68881 (m68k_fpu == FPUTYPE_68881) #define TARGET_68881 (m68k_fpu == FPUTYPE_68881)
#define TARGET_FIDOA ((m68k_cpu_flags & FL_FIDOA) != 0)
/* Size (in bytes) of FPU registers. */ /* Size (in bytes) of FPU registers. */
#define TARGET_FP_REG_SIZE (TARGET_COLDFIRE ? 8 : 12) #define TARGET_FP_REG_SIZE (TARGET_COLDFIRE ? 8 : 12)
......
...@@ -124,6 +124,10 @@ mdiv ...@@ -124,6 +124,10 @@ mdiv
Target Report Mask(CF_HWDIV) Target Report Mask(CF_HWDIV)
Use hardware division instructions on ColdFire Use hardware division instructions on ColdFire
mfidoa
Target RejectNegative
Generate code for a Fido A
mhard-float mhard-float
Target RejectNegative Mask(HARD_FLOAT) MaskExists Target RejectNegative Mask(HARD_FLOAT) MaskExists
Generate code which uses hardware floating point instructions Generate code which uses hardware floating point instructions
......
2007-04-14 Kazu Hirata <kazu@codesourcery.com>
* config.host: Recognize fido.
2007-04-04 Janis Johnson <janis187@us.ibm.com> 2007-04-04 Janis Johnson <janis187@us.ibm.com>
* configure: Check host, not target, for decimal float support. * configure: Check host, not target, for decimal float support.
......
...@@ -83,6 +83,9 @@ bfin*-*) ...@@ -83,6 +83,9 @@ bfin*-*)
ep9312*-*-*) ep9312*-*-*)
cpu_type=arm cpu_type=arm
;; ;;
fido-*-*)
cpu_type=m68k
;;
frv*) cpu_type=frv frv*) cpu_type=frv
;; ;;
xscale-*-*) xscale-*-*)
...@@ -268,6 +271,8 @@ cris-*-linux*) ...@@ -268,6 +271,8 @@ cris-*-linux*)
;; ;;
crx-*-elf) crx-*-elf)
;; ;;
fido-*-elf)
;;
fr30-*-elf) fr30-*-elf)
;; ;;
frv-*-elf) frv-*-elf)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment