summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/dist/toolchain/gcc/config/sh/sh.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gnu/dist/toolchain/gcc/config/sh/sh.c b/gnu/dist/toolchain/gcc/config/sh/sh.c
index 5613e0a7e14..e76dfd61823 100644
--- a/gnu/dist/toolchain/gcc/config/sh/sh.c
+++ b/gnu/dist/toolchain/gcc/config/sh/sh.c
@@ -515,6 +515,7 @@ prepare_scc_operands (code)
if ((code != EQ && code != NE
&& (sh_compare_op1 != const0_rtx
|| code == GTU || code == GEU || code == LTU || code == LEU))
+ || (mode == DImode && sh_compare_op1 != const0_rtx)
|| TARGET_SH3E && GET_MODE_CLASS (mode) == MODE_FLOAT)
sh_compare_op1 = force_reg (mode, sh_compare_op1);