From 040e0e441049f32c103b59f78ca75c68cd8408d4 Mon Sep 17 00:00:00 2001
From: Jeff Law <law@redhat.com>
Date: Tue, 23 Oct 2018 16:51:25 -0600
Subject: [PATCH] h8300.c (h8300_expand_prologue): Fix stm generation for H8/S.

	* config/h8300/h8300.c (h8300_expand_prologue): Fix stm generation
	for H8/S.

From-SVN: r265444
---
 gcc/ChangeLog            | 5 +++++
 gcc/config/h8300/h8300.c | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f0820c086afa..5fe8205a94cc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2018-10-12  Jeff Law  <law@redhat.com>
+
+        * config/h8300/h8300.c (h8300_expand_prologue): Fix stm generation
+        for H8/S.
+
 2018-10-23  Richard Biener  <rguenther@suse.de>
 
 	* tree-vrp.c (add_assert_info): Guard dump_printf with
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 596f2fd2cda6..24b7485602f7 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -865,15 +865,15 @@ h8300_expand_prologue (void)
 	  if (TARGET_H8300S)
 	    {
 	      /* See how many registers we can push at the same time.  */
-	      if ((!TARGET_H8300SX || (regno & 3) == 0)
+	      if ((TARGET_H8300SX || (regno & 3) == 0)
 		  && ((saved_regs >> regno) & 0x0f) == 0x0f)
 		n_regs = 4;
 
-	      else if ((!TARGET_H8300SX || (regno & 3) == 0)
+	      else if ((TARGET_H8300SX || (regno & 3) == 0)
 		       && ((saved_regs >> regno) & 0x07) == 0x07)
 		n_regs = 3;
 
-	      else if ((!TARGET_H8300SX || (regno & 1) == 0)
+	      else if ((TARGET_H8300SX || (regno & 1) == 0)
 		       && ((saved_regs >> regno) & 0x03) == 0x03)
 		n_regs = 2;
 	    }
-- 
GitLab