[gcc(refs/vendors/ARM/heads/arm-perf-staging)] Fix some testsuite failures for H8/SX multilibs where short branches where used when long branch

Tamar Christina tnfchris@gcc.gnu.org
Fri Jul 17 15:05:11 GMT 2020


https://gcc.gnu.org/g:392aa7d7adfbd84253121d2ef779bf3c627e8d0b

commit 392aa7d7adfbd84253121d2ef779bf3c627e8d0b
Author: Jeff Law <law@torsion.usersys.redhat.com>
Date:   Wed Apr 29 10:19:22 2020 -0400

        Fix some testsuite failures for H8/SX multilibs where short branches where used when long branches were necessary.
    
            * config/h8300/h8300.md (H8/SX div patterns): All H8/SX specific
            division instructions are 4 bytes long.

Diff:
---
 gcc/ChangeLog             | 5 +++++
 gcc/config/h8300/h8300.md | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 80064da83ce..a2d4a1b82f4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-04-29  Jeff Law  <law@redhat.com>
+
+	* config/h8300/h8300.md (H8/SX div patterns): All H8/SX specific
+	division instructions are 4 bytes long.
+
 2020-04-29  Jakub Jelinek  <jakub@redhat.com>
 
 	PR target/94826
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index 3e5cdbeeebe..a86b8ea2074 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1218,7 +1218,7 @@
 		  (match_operand:HSI 2 "reg_or_nibble_operand" "r IP4>X")))]
   "TARGET_H8300SX"
   { return <MODE>mode == HImode ? "divu.w\\t%T2,%T0" : "divu.l\\t%S2,%S0"; }
-  [(set_attr "length" "2")])
+  [(set_attr "length" "4")])
 
 (define_insn "div<mode>3"
   [(set (match_operand:HSI 0 "register_operand" "=r")
@@ -1226,7 +1226,7 @@
 		 (match_operand:HSI 2 "reg_or_nibble_operand" "r IP4>X")))]
   "TARGET_H8300SX"
   { return <MODE>mode == HImode ? "divs.w\\t%T2,%T0" : "divs.l\\t%S2,%S0"; }
-  [(set_attr "length" "2")])
+  [(set_attr "length" "4")])
 
 (define_insn "udivmodqi4"
   [(set (match_operand:QI 0 "register_operand" "=r")


More information about the Gcc-cvs mailing list