Commit 4c0c634c by Michael Meissner

Yank out part of last change

From-SVN: r10887
parent ca12b8a4
...@@ -467,8 +467,10 @@ gpc_reg3_operand (op, mode) ...@@ -467,8 +467,10 @@ gpc_reg3_operand (op, mode)
register rtx op; register rtx op;
enum machine_mode mode; enum machine_mode mode;
{ {
return (register_operand (op, mode) if (GET_CODE (op) != REG || mode != GET_MODE (op))
&& (GET_CODE (op) != REG || REGNO (op) == 3 || REGNO (op) >= FIRST_PSEUDO_REGISTER)); return 0; /* do not allow SUBREG's */
return (REGNO (op) == 3 || REGNO (op) >= FIRST_PSEUDO_REGISTER);
} }
/* Returns 1 if OP is register 4 or is a pseudo register. */ /* Returns 1 if OP is register 4 or is a pseudo register. */
...@@ -478,20 +480,10 @@ gpc_reg4_operand (op, mode) ...@@ -478,20 +480,10 @@ gpc_reg4_operand (op, mode)
register rtx op; register rtx op;
enum machine_mode mode; enum machine_mode mode;
{ {
return (register_operand (op, mode) if (GET_CODE (op) != REG || mode != GET_MODE (op))
&& (GET_CODE (op) != REG || REGNO (op) == 4 || REGNO (op) >= FIRST_PSEUDO_REGISTER)); return 0; /* do not allow SUBREG's */
}
/* Returns 1 if OP is register 3 or 4 or is a pseudo register. */
int return (REGNO (op) == 4 || REGNO (op) >= FIRST_PSEUDO_REGISTER);
gpc_reg34_operand (op, mode)
register rtx op;
enum machine_mode mode;
{
return (register_operand (op, mode)
&& (GET_CODE (op) != REG || REGNO (op) == 3 || REGNO (op) == 4
|| REGNO (op) >= FIRST_PSEUDO_REGISTER));
} }
/* Returns 1 if OP is either a pseudo-register or CR1. */ /* Returns 1 if OP is either a pseudo-register or CR1. */
......
...@@ -2600,7 +2600,6 @@ do { \ ...@@ -2600,7 +2600,6 @@ do { \
{"gpc_reg0_operand", {SUBREG, REG}}, \ {"gpc_reg0_operand", {SUBREG, REG}}, \
{"gpc_reg3_operand", {SUBREG, REG}}, \ {"gpc_reg3_operand", {SUBREG, REG}}, \
{"gpc_reg4_operand", {SUBREG, REG}}, \ {"gpc_reg4_operand", {SUBREG, REG}}, \
{"gpc_reg34_operand", {SUBREG, REG}}, \
{"cc_reg0_operand", {SUBREG, REG}}, \ {"cc_reg0_operand", {SUBREG, REG}}, \
{"cc_reg1_operand", {SUBREG, REG}}, \ {"cc_reg1_operand", {SUBREG, REG}}, \
{"cc_reg_operand", {SUBREG, REG}}, \ {"cc_reg_operand", {SUBREG, REG}}, \
...@@ -2656,7 +2655,6 @@ extern int non_short_cint_operand (); ...@@ -2656,7 +2655,6 @@ extern int non_short_cint_operand ();
extern int gpc_reg0_operand (); extern int gpc_reg0_operand ();
extern int gpc_reg3_operand (); extern int gpc_reg3_operand ();
extern int gpc_reg4_operand (); extern int gpc_reg4_operand ();
extern int gpc_reg34_operand ();
extern int gpc_reg_operand (); extern int gpc_reg_operand ();
extern int cc_reg0_operand (); extern int cc_reg0_operand ();
extern int cc_reg1_operand (); extern int cc_reg1_operand ();
......
...@@ -3672,7 +3672,10 @@ ...@@ -3672,7 +3672,10 @@
{ {
if (! TARGET_POWER && ! TARGET_POWERPC) if (! TARGET_POWER && ! TARGET_POWERPC)
{ {
emit_insn (gen_mulsidi3_common (operands[0], operands[1], operands[2])); emit_move_insn (gen_rtx (REG, SImode, 3), operands[1]);
emit_move_insn (gen_rtx (REG, SImode, 4), operands[2]);
emit_insn (gen_mulsidi3_common ());
emit_move_insn (operands[0], gen_rtx (REG, DImode, 3));
DONE; DONE;
} }
else if (TARGET_POWER) else if (TARGET_POWER)
...@@ -3683,11 +3686,11 @@ ...@@ -3683,11 +3686,11 @@
}") }")
(define_insn "mulsidi3_common" (define_insn "mulsidi3_common"
[(set (match_operand:DI 0 "gpc_reg3_operand" "=w") [(set (reg:DI 3)
(mult:DI (sign_extend:DI (match_operand:SI 1 "gpc_reg3_operand" "%u")) (mult:DI (sign_extend:DI (reg:SI 3))
(sign_extend:DI (match_operand:SI 2 "gpc_reg4_operand" "v")))) (sign_extend:DI (reg:SI 4))))
(clobber (match_scratch:SI 3 "=l")) (clobber (match_scratch:SI 0 "=l"))
(clobber (match_scratch:SI 4 "=z"))] (clobber (match_scratch:SI 1 "=z"))]
"! TARGET_POWER && ! TARGET_POWERPC" "! TARGET_POWER && ! TARGET_POWERPC"
"bla __mull" "bla __mull"
[(set_attr "type" "jmpreg")]) [(set_attr "type" "jmpreg")])
......
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