sh.md (cmpeqdi_t splitter): Fix a reverse testing.

* config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.

	* config/sh/sh.c (prepare_scc_operands): Apply force_reg to
	sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
	const0_rtx.

From-SVN: r35889
This commit is contained in:
Kaz Kojima 2000-08-23 04:39:56 +09:00 committed by Joern Rennecke
parent 7405dc3753
commit 89e43e3315
3 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,11 @@
Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
* config/sh/sh.c (prepare_scc_operands): Apply force_reg to
sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
const0_rtx.
2000-08-22 Nick Clifton <nickc@redhat.com> 2000-08-22 Nick Clifton <nickc@redhat.com>
* config/arm/lib1funcs.asm (__umodsi3): Before performing any * config/arm/lib1funcs.asm (__umodsi3): Before performing any

View File

@ -524,6 +524,7 @@ prepare_scc_operands (code)
if ((code != EQ && code != NE if ((code != EQ && code != NE
&& (sh_compare_op1 != const0_rtx && (sh_compare_op1 != const0_rtx
|| code == GTU || code == GEU || code == LTU || code == LEU)) || code == GTU || code == GEU || code == LTU || code == LEU))
|| (mode == DImode && sh_compare_op1 != const0_rtx)
|| (TARGET_SH3E && GET_MODE_CLASS (mode) == MODE_FLOAT)) || (TARGET_SH3E && GET_MODE_CLASS (mode) == MODE_FLOAT))
sh_compare_op1 = force_reg (mode, sh_compare_op1); sh_compare_op1 = force_reg (mode, sh_compare_op1);

View File

@ -636,7 +636,7 @@
(match_operand:DI 1 "arith_reg_or_0_operand" "N,r")))] (match_operand:DI 1 "arith_reg_or_0_operand" "N,r")))]
"reload_completed" "reload_completed"
[(set (reg:SI 18) (eq:SI (match_dup 2) (match_dup 3))) [(set (reg:SI 18) (eq:SI (match_dup 2) (match_dup 3)))
(set (pc) (if_then_else (ne (reg:SI 18) (const_int 0)) (set (pc) (if_then_else (eq (reg:SI 18) (const_int 0))
(label_ref (match_dup 6)) (label_ref (match_dup 6))
(pc))) (pc)))
(set (reg:SI 18) (eq:SI (match_dup 4) (match_dup 5))) (set (reg:SI 18) (eq:SI (match_dup 4) (match_dup 5)))