diff options
author | Nick Clifton <nickc@redhat.com> | 2009-07-06 13:55:09 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2009-07-06 13:55:09 +0000 |
commit | 7a61cf6f09d0a08de70d1f15f089a79cbec1ab1e (patch) | |
tree | f2b4569c011e34c11f7d7c4e6539913dbbd5f507 /gcc/config/sh/sh.h | |
parent | 83f63251d92b61d083e7801e762089b372cbcf8e (diff) | |
download | gcc-7a61cf6f09d0a08de70d1f15f089a79cbec1ab1e.zip gcc-7a61cf6f09d0a08de70d1f15f089a79cbec1ab1e.tar.gz gcc-7a61cf6f09d0a08de70d1f15f089a79cbec1ab1e.tar.bz2 |
lib1funcs.h (FMOVD_WORKS): Only define if __FMOVD_ENABLED__ is defined.
* config.sh/lib1funcs.h (FMOVD_WORKS): Only define if
__FMOVD_ENABLED__ is defined.
* config/sh/sh.h
(TARGET_FMOVD): Provide a default definition.
(MASK_FMOVD): Likewise.
(TARGET_CPU_CPP_BUILTINS): Define
__FMOVD_ENABLED__ if TARGET_FMOVD is true.
* config/sh/sh.md (movdf_i4): For alternative 0 use either one or
two fmov instructions depending upon whether TARGET_FMOVD is
enabled.
(split for DF load from memory into register): Also handle
MEMs which consist of REG+DISP addressing.
(split for DF store from register to memory): Likewise.
(movsf_ie): Always use single fp_mode.
* config/sh/sh.c (sh_override_options): Do not automatically
enable TARGET_MOVD for the SH2A when supporting doubles - leave
that to the -mfmovd command line switch.
(broken_move): Do not restrict fldi test to only the SH4 and SH4A.
(fldi_ok): Always allow.
* config/sh/sh.opt (mfmovd): Remove this switch.
* doc/invoke.texi (-mfmovd): Remove documentation of this switch.
Co-Authored-By: DJ Delorie <dj@redhat.com>
From-SVN: r149283
Diffstat (limited to 'gcc/config/sh/sh.h')
-rw-r--r-- | gcc/config/sh/sh.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index d8b9a29..d9a4c5f 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -28,6 +28,11 @@ along with GCC; see the file COPYING3. If not see #define TARGET_VERSION \ fputs (" (Hitachi SH)", stderr); +#ifndef TARGET_FMOVD +#define TARGET_FMOVD 0 +#define MASK_FMOVD 0 +#endif + /* Unfortunately, insn-attrtab.c doesn't include insn-codes.h. We can't include it here, because bconfig.h is also included by gencodes.c . */ /* ??? No longer true. */ @@ -91,6 +96,8 @@ do { \ builtin_define ("__SH_FPU_DOUBLE__"); \ if (TARGET_HITACHI) \ builtin_define ("__HITACHI__"); \ + if (TARGET_FMOVD) \ + builtin_define ("__FMOVD_ENABLED__"); \ builtin_define (TARGET_LITTLE_ENDIAN \ ? "__LITTLE_ENDIAN__" : "__BIG_ENDIAN__"); \ } while (0) |