Commit 254110c2 by David S. Miller Committed by David S. Miller

Complete this set of changes to make the Sparc

	backend completely gen_rtx clean.

From-SVN: r20669
parent 519ebd1e
...@@ -5,7 +5,8 @@ Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com> ...@@ -5,7 +5,8 @@ Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto, subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
splits and peepholes): Change remaining generic gen_rtx calls to splits and peepholes): Change remaining generic gen_rtx calls to
specific genrtl ones. specific genrtl ones.
* config/sparc/sparc.c: Likewise.
Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com> Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
* gcc.c (handle_braces): Recognize | between options as an or. * gcc.c (handle_braces): Recognize | between options as an or.
......
...@@ -2701,14 +2701,14 @@ ...@@ -2701,14 +2701,14 @@
&& GET_MODE (sparc_compare_op0) == DImode && GET_MODE (sparc_compare_op0) == DImode
&& v9_regcmp_p (code)) && v9_regcmp_p (code))
{ {
operands[1] = gen_rtx (code, DImode, operands[1] = gen_rtx_fmt_ee (code, DImode,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
} }
else else
{ {
rtx cc_reg = gen_compare_reg (code, rtx cc_reg = gen_compare_reg (code,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
operands[1] = gen_rtx (code, GET_MODE (cc_reg), cc_reg, const0_rtx); operands[1] = gen_rtx_fmt_ee (code, GET_MODE (cc_reg), cc_reg, const0_rtx);
} }
}") }")
...@@ -2731,14 +2731,14 @@ ...@@ -2731,14 +2731,14 @@
&& GET_MODE (sparc_compare_op0) == DImode && GET_MODE (sparc_compare_op0) == DImode
&& v9_regcmp_p (code)) && v9_regcmp_p (code))
{ {
operands[1] = gen_rtx (code, DImode, operands[1] = gen_rtx_fmt_ee (code, DImode,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
} }
else else
{ {
rtx cc_reg = gen_compare_reg (code, rtx cc_reg = gen_compare_reg (code,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
operands[1] = gen_rtx (code, GET_MODE (cc_reg), cc_reg, const0_rtx); operands[1] = gen_rtx_fmt_ee (code, GET_MODE (cc_reg), cc_reg, const0_rtx);
} }
}") }")
...@@ -2816,14 +2816,14 @@ ...@@ -2816,14 +2816,14 @@
&& GET_MODE (sparc_compare_op0) == DImode && GET_MODE (sparc_compare_op0) == DImode
&& v9_regcmp_p (code)) && v9_regcmp_p (code))
{ {
operands[1] = gen_rtx (code, DImode, operands[1] = gen_rtx_fmt_ee (code, DImode,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
} }
else else
{ {
rtx cc_reg = gen_compare_reg (code, rtx cc_reg = gen_compare_reg (code,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
operands[1] = gen_rtx (code, GET_MODE (cc_reg), cc_reg, const0_rtx); operands[1] = gen_rtx_fmt_ee (code, GET_MODE (cc_reg), cc_reg, const0_rtx);
} }
}") }")
...@@ -2846,14 +2846,14 @@ ...@@ -2846,14 +2846,14 @@
&& GET_MODE (sparc_compare_op0) == DImode && GET_MODE (sparc_compare_op0) == DImode
&& v9_regcmp_p (code)) && v9_regcmp_p (code))
{ {
operands[1] = gen_rtx (code, DImode, operands[1] = gen_rtx_fmt_ee (code, DImode,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
} }
else else
{ {
rtx cc_reg = gen_compare_reg (code, rtx cc_reg = gen_compare_reg (code,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
operands[1] = gen_rtx (code, GET_MODE (cc_reg), cc_reg, const0_rtx); operands[1] = gen_rtx_fmt_ee (code, GET_MODE (cc_reg), cc_reg, const0_rtx);
} }
}") }")
...@@ -2876,14 +2876,14 @@ ...@@ -2876,14 +2876,14 @@
&& GET_MODE (sparc_compare_op0) == DImode && GET_MODE (sparc_compare_op0) == DImode
&& v9_regcmp_p (code)) && v9_regcmp_p (code))
{ {
operands[1] = gen_rtx (code, DImode, operands[1] = gen_rtx_fmt_ee (code, DImode,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
} }
else else
{ {
rtx cc_reg = gen_compare_reg (code, rtx cc_reg = gen_compare_reg (code,
sparc_compare_op0, sparc_compare_op1); sparc_compare_op0, sparc_compare_op1);
operands[1] = gen_rtx (code, GET_MODE (cc_reg), cc_reg, const0_rtx); operands[1] = gen_rtx_fmt_ee (code, GET_MODE (cc_reg), cc_reg, const0_rtx);
} }
}") }")
...@@ -3146,7 +3146,7 @@ ...@@ -3146,7 +3146,7 @@
operand1 = XEXP (operand1, 0); operand1 = XEXP (operand1, 0);
} }
emit_insn (gen_ashlsi3 (temp, gen_rtx (SUBREG, SImode, operand1, emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1,
op1_subword), op1_subword),
shift_16)); shift_16));
emit_insn (gen_lshrsi3 (operand0, temp, shift_16)); emit_insn (gen_lshrsi3 (operand0, temp, shift_16));
...@@ -3688,7 +3688,7 @@ return \"srl %1,0,%0\"; ...@@ -3688,7 +3688,7 @@ return \"srl %1,0,%0\";
gen_rtx_PLUS (DImode, operands[1], gen_rtx_PLUS (DImode, operands[1],
operands[2])), operands[2])),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_CLOBBER (VOIDmode,
gen_rtx_raw_REG (SImode, SPARC_ICC_REG))))); gen_rtx_REG (SImode, SPARC_ICC_REG)))));
DONE; DONE;
} }
}") }")
...@@ -3872,7 +3872,7 @@ return \"srl %1,0,%0\"; ...@@ -3872,7 +3872,7 @@ return \"srl %1,0,%0\";
gen_rtx_MINUS (DImode, operands[1], gen_rtx_MINUS (DImode, operands[1],
operands[2])), operands[2])),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_CLOBBER (VOIDmode,
gen_rtx_raw_REG (SImode, SPARC_ICC_REG))))); gen_rtx_REG (SImode, SPARC_ICC_REG)))));
DONE; DONE;
} }
}") }")
...@@ -4948,7 +4948,7 @@ return \"srl %1,0,%0\"; ...@@ -4948,7 +4948,7 @@ return \"srl %1,0,%0\";
gen_rtx_SET (VOIDmode, operand0, gen_rtx_SET (VOIDmode, operand0,
gen_rtx_NEG (DImode, operand1)), gen_rtx_NEG (DImode, operand1)),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_CLOBBER (VOIDmode,
gen_rtx_raw_REG (SImode, SPARC_ICC_REG))))); gen_rtx_REG (SImode, SPARC_ICC_REG)))));
DONE; DONE;
} }
}") }")
...@@ -5628,7 +5628,7 @@ if (! TARGET_ARCH64) ...@@ -5628,7 +5628,7 @@ if (! TARGET_ARCH64)
XEXP (operands[0], 0)), XEXP (operands[0], 0)),
GEN_INT (INTVAL (operands[3]) & 0xfff), GEN_INT (INTVAL (operands[3]) & 0xfff),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_CLOBBER (VOIDmode,
gen_rtx_raw_REG (Pmode, 15))))); gen_rtx_REG (Pmode, 15)))));
else else
emit_jump_insn emit_jump_insn
(gen_rtx_PARALLEL (VOIDmode, (gen_rtx_PARALLEL (VOIDmode,
...@@ -5636,7 +5636,7 @@ if (! TARGET_ARCH64) ...@@ -5636,7 +5636,7 @@ if (! TARGET_ARCH64)
gen_rtx_SET (VOIDmode, pc_rtx, gen_rtx_SET (VOIDmode, pc_rtx,
XEXP (operands[0], 0)), XEXP (operands[0], 0)),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_CLOBBER (VOIDmode,
gen_rtx_raw_REG (Pmode, 15))))); gen_rtx_REG (Pmode, 15)))));
goto finish_call; goto finish_call;
} }
...@@ -5660,13 +5660,13 @@ if (! TARGET_ARCH64) ...@@ -5660,13 +5660,13 @@ if (! TARGET_ARCH64)
gen_rtvec (3, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx), gen_rtvec (3, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx),
GEN_INT (INTVAL (operands[3]) & 0xfff), GEN_INT (INTVAL (operands[3]) & 0xfff),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_CLOBBER (VOIDmode,
gen_rtx_raw_REG (Pmode, 15))))); gen_rtx_REG (Pmode, 15)))));
else else
emit_call_insn emit_call_insn
(gen_rtx_PARALLEL (VOIDmode, (gen_rtx_PARALLEL (VOIDmode,
gen_rtvec (2, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx), gen_rtvec (2, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_CLOBBER (VOIDmode,
gen_rtx_raw_REG (Pmode, 15))))); gen_rtx_REG (Pmode, 15)))));
finish_call: finish_call:
#if 0 #if 0
...@@ -5799,7 +5799,7 @@ if (! TARGET_ARCH64) ...@@ -5799,7 +5799,7 @@ if (! TARGET_ARCH64)
vec = gen_rtvec (2, vec = gen_rtvec (2,
gen_rtx_SET (VOIDmode, operands[0], gen_rtx_SET (VOIDmode, operands[0],
gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx)), gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx)),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_raw_REG (Pmode, 15))); gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 15)));
emit_call_insn (gen_rtx_PARALLEL (VOIDmode, vec)); emit_call_insn (gen_rtx_PARALLEL (VOIDmode, vec));
...@@ -5891,13 +5891,13 @@ if (! TARGET_ARCH64) ...@@ -5891,13 +5891,13 @@ if (! TARGET_ARCH64)
"" ""
" "
{ {
rtx valreg1 = gen_rtx_raw_REG (DImode, 24); rtx valreg1 = gen_rtx_REG (DImode, 24);
rtx valreg2 = gen_rtx_raw_REG (TARGET_ARCH64 ? TFmode : DFmode, 32); rtx valreg2 = gen_rtx_REG (TARGET_ARCH64 ? TFmode : DFmode, 32);
rtx result = operands[0]; rtx result = operands[0];
if (! TARGET_ARCH64) if (! TARGET_ARCH64)
{ {
rtx rtnreg = gen_rtx_raw_REG (SImode, (leaf_function ? 15 : 31)); rtx rtnreg = gen_rtx_REG (SImode, (leaf_function ? 15 : 31));
rtx value = gen_reg_rtx (SImode); rtx value = gen_reg_rtx (SImode);
/* Fetch the instruction where we will return to and see if it's an unimp /* Fetch the instruction where we will return to and see if it's an unimp
...@@ -5999,7 +5999,7 @@ if (! TARGET_ARCH64) ...@@ -5999,7 +5999,7 @@ if (! TARGET_ARCH64)
/* Find the containing function's current nonlocal goto handler, /* Find the containing function's current nonlocal goto handler,
which will do any cleanups and then jump to the label. */ which will do any cleanups and then jump to the label. */
labreg = gen_rtx_raw_REG (Pmode, 8); labreg = gen_rtx_REG (Pmode, 8);
emit_move_insn (labreg, lab); emit_move_insn (labreg, lab);
/* Restore %fp from stack pointer value for containing function. /* Restore %fp from stack pointer value for containing function.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment