From 69bc8815740de46869b45403b3b583e1e2c0e442 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 28 Apr 2020 16:34:45 -0400 Subject: [PATCH] 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. --- gcc/ChangeLog | 5 +++++ gcc/config/h8300/h8300.md | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 905d2b8a2f5..9c947299964 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2020-04-28 Jeff Law + + * config/h8300/h8300.md (H8/SX mult patterns): All H8/SX specific + multiply patterns are 4 bytes long. + 2020-04-28 Kyrylo Tkachov * config/arm/arm-cpus.in (cortex-m55): Remove +nofp option. diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index fdd2d8b02d7..3e5cdbeeebe 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 == 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 -- 2.30.2