summaryrefslogtreecommitdiff
path: root/gcc/config/sh/t-sh
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-29 06:10:03 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-29 06:10:03 +0000
commit7105fb72a2283ebf0038b304965883da64c0ca1a (patch)
tree5cc03db5307cbbf9626c06024b397c40851cba24 /gcc/config/sh/t-sh
parent9b7b8e5f5fb35bf65f256c62a2899af365707b78 (diff)
downloadgcc-7105fb72a2283ebf0038b304965883da64c0ca1a.tar.gz
Introduce sh2a support.
2004-07-29 Alexandre Oliva <aoliva@redhat.com> * config.gcc: Build multilibs for sh2a and sh2a-single by default. * config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by default. Split their tests out of the corresponding SH4 multilibs. * config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a multilibs for SH2a. 2004-07-28 Alexandre Oliva <aoliva@redhat.com> * config.gcc: Handle sh2a multilibs and cpu selection. * config/sh/sh.h: Likewise. Handle sh2a command line flags. * config/sh/t-mlib-sh2a: New. * config/sh/t-mlib-sh2a-nofpu: New. * config/sh/t-mlib-sh2a-single: New. * config/sh/t-mlib-sh2a-single-only: New. 2004-07-09 Nick Clifton <nickc@redhat.com> Issue 43400 * config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if -ml and -m2a are used together. 2004-03-23 DJ Delorie <dj@redhat.com> * config/sh/sh.c (sh_builtin_saveregs): Use the double code only when we have a double-sized FPU. 2004-02-24 Corinna Vinschen <vinschen@redhat.com> * config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__ is set. * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu, -msh2a-single and -msh2a-single-only 2004-02-24 Corinna Vinschen <vinschen@redhat.com> * config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__ is set. 2004-02-20 DJ Delorie <dj@delorie.com> * config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu. 2004-02-20 Fred Fish <fnf@redhat.com>, Corinna Vinschen <vinschen@redhat.com> * config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu. (MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a. 2004-02-18 DJ Delorie <dj@redhat.com> * config/sh/sh.c (broken_move): Add support for movi20. * config/sh/sh.h: Likewise. (SHIFT_COUNT_TRUNCATED): Set for sh2a. * config/sh/sh.md (udivsi3_sh2a): New. (udivsi3): Call it. (divsi3_sh2a): New. (divsi3): Call it. (mul_r): New. (ashlsi3_sh2a): New. (ashrsi3_sh2a): New. (lshrsi3_sh2a): New. (movsi_i): Disable for sh2a. (movsi_ie): Add movi20. (movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable sh2a, for -m2a-nofpu mode. 2004-02-13 DJ Delorie <dj@redhat.com> * config/sh/lib1funcs.asm: Handle double vs single better. * config/sh/sh.h: Likewise. 2004-02-09 DJ Delorie <dj@redhat.com> * config/sh/crt1.asm: Add support for sh2a. * config/sh/elf.h: Likewise. * config/sh/lib1funcs.asm: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.md: Likewise. * config/sh/sh.h: Likewise. * config/sh/t-sh: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85286 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sh/t-sh')
-rw-r--r--gcc/config/sh/t-sh18
1 files changed, 13 insertions, 5 deletions
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 97dd99bf101..3660d06aacf 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -22,15 +22,19 @@ fp-bit.c: $(srcdir)/config/fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
MULTILIB_ENDIAN = ml/mb
-MULTILIB_CPUS= $(ML_sh1)$(ML_sh2e)$(ML_sh2)$(ML_sh3e)$(ML_sh3)$(ML_sh4_nofpu)$(ML_sh4_single_only)$(ML_sh4_single)$(ML_sh4)$(ML_sh4a_nofpu)$(ML_sh4a_single_only)$(ML_sh4a_single)$(ML_sh4a)$(ML_m5_32media)$(ML_m5_32media_nofpu)$(ML_m5_compact)$(ML_m5_compact_nofpu)$(ML_m5_64media)$(ML_m5_64media_nofpu)
+MULTILIB_CPUS= $(ML_sh1)$(ML_sh2a)$(ML_sh2a_nofpu)$(ML_sh2a_single_only)$(ML_sh2a_single)$(ML_sh2e)$(ML_sh2)$(ML_sh3e)$(ML_sh3)$(ML_sh4_nofpu)$(ML_sh4_single_only)$(ML_sh4_single)$(ML_sh4)$(ML_sh4a_nofpu)$(ML_sh4a_single_only)$(ML_sh4a_single)$(ML_sh4a)$(ML_m5_32media)$(ML_m5_32media_nofpu)$(ML_m5_compact)$(ML_m5_compact_nofpu)$(ML_m5_64media)$(ML_m5_64media_nofpu)
MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) $(MULTILIB_CPUS:/=)
MULTILIB_DIRNAMES=
-#MULTILIB_MATCHES = m2=m3 m2e=m3e m2=m4-nofpu
+
+# The separate entries for m2a-nofpu and m2a-single-only with
+# duplicate base libraries are there to make sure we don't ever use an
+# m4* multilib for m2a or vice-versa; they are not compatible. This
+# is why sh2a and sh2a-single need their own multilibs.
MULTILIB_MATCHES = $(shell \
multilibs="$(MULTILIB_OPTIONS)" ; \
- for abi in m1,m2,m3,m4-nofpu,m4al,m4a-nofpu \
- m2e,m3e,m4-single-only,m4a-single-only \
+ for abi in m1,m2,m3,m4-nofpu,m4al,m4a-nofpu m1,m2,m2a-nofpu \
+ m2e,m3e,m4-single-only,m4a-single-only m2e,m2a-single-only \
m4-single,m4a-single m4,m4a \
m5-32media,m5-compact,m5-32media \
m5-32media-nofpu,m5-compact-nofpu,m5-32media-nofpu; do \
@@ -45,7 +49,7 @@ MULTILIB_MATCHES = $(shell \
done)
# SH1 only supports big endian.
-MULTILIB_EXCEPTIONS = ml/m1
+MULTILIB_EXCEPTIONS = ml/m1 ml/m2a*
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
@@ -62,3 +66,7 @@ gt-sh.h : s-gtype ; @true
# These are not suitable for COFF.
# EXTRA_MULTILIB_PARTS= crt1.o crti.o crtn.o crtbegin.o crtend.o
+
+# Local Variables:
+# mode: Makefile
+# End: