This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 6/7] add default for HAVE_store_multiple
- From: tbsaunde+gcc at tbsaunde dot org
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 23 May 2015 18:45:09 -0400
- Subject: [PATCH 6/7] add default for HAVE_store_multiple
- Authentication-results: sourceware.org; auth=none
- References: <1432421110-22114-1-git-send-email-tbsaunde+gcc at tbsaunde dot org>
From: Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
gcc/ChangeLog:
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (gen_store_multiple): New function.
(HAVE_store_multiple): Add default value.
* expr.c (move_block_from_reg): Adjust.
---
gcc/ChangeLog | 6 ++++++
gcc/defaults.h | 10 ++++++++++
gcc/expr.c | 2 --
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5d609d4..99ee6dd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+ * defaults.h (gen_store_multiple): New function.
+ (HAVE_store_multiple): Add default value.
+ * expr.c (move_block_from_reg): Adjust.
+
+2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
* defaults.h (gen_load_multiple): New function.
(HAVE_load_multiple): Add default value.
* expr.c (move_block_to_reg): Adjust.
diff --git a/gcc/defaults.h b/gcc/defaults.h
index ea5ff80..566841b 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -1484,6 +1484,16 @@ gen_load_multiple (rtx, rtx, rtx)
}
#endif
+#ifndef HAVE_store_multiple
+#define HAVE_store_multiple 0
+static inline rtx
+gen_store_multiple (rtx, rtx, rtx)
+{
+ gcc_unreachable ();
+ return NULL;
+}
+#endif
+
#endif /* GCC_INSN_FLAGS_H */
#endif /* ! GCC_DEFAULTS_H */
diff --git a/gcc/expr.c b/gcc/expr.c
index c4b39f4..0dad737 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1548,7 +1548,6 @@ move_block_from_reg (int regno, rtx x, int nregs)
return;
/* See if the machine can do this with a store multiple insn. */
-#ifdef HAVE_store_multiple
if (HAVE_store_multiple)
{
rtx_insn *last = get_last_insn ();
@@ -1562,7 +1561,6 @@ move_block_from_reg (int regno, rtx x, int nregs)
else
delete_insns_since (last);
}
-#endif
for (i = 0; i < nregs; i++)
{
--
2.4.0.78.g7c6ecbf