aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChristian Bruel <chrbr@gcc.gnu.org>2009-07-20 09:37:37 +0200
committerChristian Bruel <chrbr@gcc.gnu.org>2009-07-20 09:37:37 +0200
commit6a799f6e68fcbd39c77f43524629183afc687202 (patch)
treefa9ce851e7ca90598aab182aea62e68241bb02cc /gcc
parent94b219ec0ce9da1ba688be4aa81f80ebd3508d3e (diff)
downloadgcc-6a799f6e68fcbd39c77f43524629183afc687202.zip
gcc-6a799f6e68fcbd39c77f43524629183afc687202.tar.gz
gcc-6a799f6e68fcbd39c77f43524629183afc687202.tar.bz2
SH: resurect -mfmovd
From-SVN: r149803
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/sh/sh.h5
-rw-r--r--gcc/config/sh/sh.opt6
-rw-r--r--gcc/doc/invoke.texi7
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/sh/mfmovd.c13
6 files changed, 38 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6dd9908..6053b54 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-07-20 Christian Bruel <christian.bruel@st.com>
+
+ * config/sh/sh.opt (-mfmovd): Resurrect and document.
+ * doc/invoke.texi (-mfmovd): Likewise.
+ * config/sh/sh.h (TARGET_FMOVD, MASK_FMOVD): Remove default setting.
+
2009-07-20 Jan Hubicka <jh@suse.cz>
* tree-ssa-dce.c (remove_dead_phis): Only look for abnormal PHIs
@@ -127,6 +133,7 @@
* c-omp.c (c_finish_omp_atomic): Set DECL_CONTEXT on the
temporary variable.
+>>>>>>> .r149802
2009-07-17 Sandra Loosemore <sandra@codesourcery.com>
* doc/service.texi (Service): Restore previously removed link,
@@ -146,6 +153,7 @@
* gimplify.c (gimplify_conversion): Don't change non-conversions into
VIEW_CONVERT_EXPR.
+>>>>>>> .r149747
2009-07-16 Sandra Loosemore <sandra@codesourcery.com>
* doc/extend.texi (Nested Functions): Replace broken link with
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index d9a4c5f..9b3d99f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -28,11 +28,6 @@ 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. */
diff --git a/gcc/config/sh/sh.opt b/gcc/config/sh/sh.opt
index b2e7c6d..dbe077c 100644
--- a/gcc/config/sh/sh.opt
+++ b/gcc/config/sh/sh.opt
@@ -244,6 +244,10 @@ mdivsi3_libfunc=
Target RejectNegative Joined Var(sh_divsi3_libfunc) Init("")
Specify name for 32 bit signed division function
+mfmovd
+Target RejectNegative Mask(FMOVD)
+Enable the use of 64-bit floating point registers in fmov instructions. See -mdalign if 64-bit alignment is required.
+
mfixed-range=
Target RejectNegative Joined Var(sh_fixed_range_str)
Specify range of registers to make fixed
@@ -312,7 +316,7 @@ Follow Renesas (formerly Hitachi) / SuperH calling conventions
mspace
Target Report RejectNegative Mask(SMALLCODE)
-Deprecated. Use -Os instead
+Deprecated. Use -Os instead
multcost=
Target RejectNegative Joined UInteger Var(sh_multcost) Init(-1)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index bd868bf..ce94a32 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -800,7 +800,7 @@ See RS/6000 and PowerPC Options.
-m5-32media -m5-32media-nofpu @gol
-m5-compact -m5-compact-nofpu @gol
-mb -ml -mdalign -mrelax @gol
--mbigtable -mhitachi -mrenesas -mno-renesas -mnomacsave @gol
+-mbigtable -mfmovd -mhitachi -mrenesas -mno-renesas -mnomacsave @gol
-mieee -mbitops -misize -minline-ic_invalidate -mpadstruct -mspace @gol
-mprefergot -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol
-mdivsi3_libfunc=@var{name} -mfixed-range=@var{register-range} @gol
@@ -15306,6 +15306,11 @@ Use 32-bit offsets in @code{switch} tables. The default is to use
@opindex mbitops
Enable the use of bit manipulation instructions on SH2A.
+@item -mfmovd
+@opindex mfmovd
+Enable the use of the instruction @code{fmovd}. Check @option{-mdalign} for
+alignment constraints.
+
@item -mhitachi
@opindex mhitachi
Comply with the calling conventions defined by Renesas.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 187dae1..a311632 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2009-07-20 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.target/sh/mfmovd.c: New test.
+
2009-07-19 Janne Blomqvist <jb@gcc.gnu.org>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
@@ -52,6 +56,7 @@
* gcc.target/powerpc/asm-es-1.c: New test.
* gcc.target/powerpc/asm-es-2.c: Likewise.
+>>>>>>> .r149802
2009-07-17 Richard Guenther <rguenther@suse.de>
PR c/40401
@@ -84,6 +89,7 @@
PR c++/40780
* g++.dg/template/ptrmem19.C: New test.
+>>>>>>> .r149747
2009-07-17 Aldy Hernandez <aldyh@redhat.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
diff --git a/gcc/testsuite/gcc.target/sh/mfmovd.c b/gcc/testsuite/gcc.target/sh/mfmovd.c
new file mode 100644
index 0000000..c8e0094
--- /dev/null
+++ b/gcc/testsuite/gcc.target/sh/mfmovd.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target "sh*-*-*" } } */
+/* { dg-options "-mfmovd" } */
+/* { dg-skip-if "No double precision FPU support" { "sh*-*-*" } "-m2a-nofpu -m2a-single-only -m4-nofpu -m4-single-only -m4a-nofpu -m4a-single-only" { "" } } */
+/* { dg-final { scan-assembler "fmov.d"} } */
+
+extern double g;
+
+void
+f (double d)
+{
+ g = d;
+}
+