aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/h8300
diff options
context:
space:
mode:
authorJeff Law <law@torsion.usersys.redhat.com>2020-04-28 16:34:45 -0400
committerJeff Law <law@torsion.usersys.redhat.com>2020-04-28 16:37:48 -0400
commit69bc8815740de46869b45403b3b583e1e2c0e442 (patch)
tree5f7ecd0a391a5c97ffd371161842f66d778e9fcf /gcc/config/h8300
parent8b53086ab6a6d0e89d407398c3a126535989f0c1 (diff)
downloadgcc-69bc8815740de46869b45403b3b583e1e2c0e442.zip
gcc-69bc8815740de46869b45403b3b583e1e2c0e442.tar.gz
gcc-69bc8815740de46869b45403b3b583e1e2c0e442.tar.bz2
Fix some testsuite failures for H8/SX multilibs where short branches where used when long branches were necessary.
* config/h8300/h8300.md (H8/SX mult patterns): All H8/SX specific multiply patterns are 4 bytes long.
Diffstat (limited to 'gcc/config/h8300')
-rw-r--r--gcc/config/h8300/h8300.md6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index fdd2d8b..3e5cdbe 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1146,7 +1146,7 @@
(match_operand:HSI 2 "reg_or_nibble_operand" "r IP4>X")))]
"TARGET_H8300SX"
{ return <MODE>mode == HImode ? "muls.w\\t%T2,%T0" : "muls.l\\t%S2,%S0"; }
- [(set_attr "length" "2")
+ [(set_attr "length" "4")
(set_attr "cc" "set_zn")])
(define_insn "smulsi3_highpart"
@@ -1159,7 +1159,7 @@
(const_int 32))))]
"TARGET_H8300SXMUL"
"muls/u.l\\t%S2,%S0"
- [(set_attr "length" "2")
+ [(set_attr "length" "4")
(set_attr "cc" "set_zn")])
(define_insn "umulsi3_highpart"
@@ -1172,7 +1172,7 @@
(const_int 32))))]
"TARGET_H8300SX"
"mulu/u.l\\t%S2,%S0"
- [(set_attr "length" "2")
+ [(set_attr "length" "4")
(set_attr "cc" "none_0hit")])
;; This is a "bridge" instruction. Combine can't cram enough insns