Commit dc91d892 by Uros Bizjak Committed by Uros Bizjak

i386.h (ix86_compare_op0, [...]): Remove.

	* config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
	* config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
	(ix86_expand_branch): Add op0 and op1 arguments.  Do not access
	ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
	Update calls to ix86_expand_compare and ix86_expand_branch.
	(ix86_expand_setcc): Add op0 and op1 arguments.  Update calls to
	ix86_expand_compare.
	(ix86_expand_compare): Add op0 and op1 arguments.  Do not access
	ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
	Make static.
	(ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
	and ix86_compare_op1.  Update calls to ix86_expand_compare.
	(ix86_expand_int_movcc): Ditto.
	(ix86_expand_fp_movcc): Ditto.  Update calls to ix86_expand_setcc.
	* config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
	(ix86_expand_setcc): Ditto.
	(ix86_expand_compare): Remove prototype.
	* config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
	ix86_compare_op0 and ix86_compare_op1.  Update calls
	to ix86_expand_branch to directly pass operands[1] and operands[2].
	(cbranchxf4): Ditto.
	(cbranch<MODEF:mode>4): Ditto.
	(cbranchcc4): Ditto.
	(cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
	Update calls to ix86_expand_setcc to directly pass operands[2] and
	operands[3].
	(cstorexf4): Ditto.
	(cstore<MODEF:mode>4): Ditto.
	(cstorecc4): Ditto.

From-SVN: r162837
parent d518b5e9
2010-08-03 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
* config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
(ix86_expand_branch): Add op0 and op1 arguments. Do not access
ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
Update calls to ix86_expand_compare and ix86_expand_branch.
(ix86_expand_setcc): Add op0 and op1 arguments. Update calls to
ix86_expand_compare.
(ix86_expand_compare): Add op0 and op1 arguments. Do not access
ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
Make static.
(ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
and ix86_compare_op1. Update calls to ix86_expand_compare.
(ix86_expand_int_movcc): Ditto.
(ix86_expand_fp_movcc): Ditto. Update calls to ix86_expand_setcc.
* config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
(ix86_expand_setcc): Ditto.
(ix86_expand_compare): Remove prototype.
* config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
ix86_compare_op0 and ix86_compare_op1. Update calls
to ix86_expand_branch to directly pass operands[1] and operands[2].
(cbranchxf4): Ditto.
(cbranch<MODEF:mode>4): Ditto.
(cbranchcc4): Ditto.
(cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
Update calls to ix86_expand_setcc to directly pass operands[2] and
operands[3].
(cstorexf4): Ditto.
(cstore<MODEF:mode>4): Ditto.
(cstorecc4): Ditto.
2010-08-02 Bernd Schmidt <bernds@codesourcery.com> 2010-08-02 Bernd Schmidt <bernds@codesourcery.com>
PR target/45063 PR target/45063
......
...@@ -109,10 +109,9 @@ extern void ix86_split_copysign_const (rtx []); ...@@ -109,10 +109,9 @@ extern void ix86_split_copysign_const (rtx []);
extern void ix86_split_copysign_var (rtx []); extern void ix86_split_copysign_var (rtx []);
extern int ix86_unary_operator_ok (enum rtx_code, enum machine_mode, rtx[]); extern int ix86_unary_operator_ok (enum rtx_code, enum machine_mode, rtx[]);
extern int ix86_match_ccmode (rtx, enum machine_mode); extern int ix86_match_ccmode (rtx, enum machine_mode);
extern rtx ix86_expand_compare (enum rtx_code);
extern int ix86_use_fcomi_compare (enum rtx_code); extern int ix86_use_fcomi_compare (enum rtx_code);
extern void ix86_expand_branch (enum rtx_code, rtx); extern void ix86_expand_branch (enum rtx_code, rtx, rtx, rtx);
extern void ix86_expand_setcc (enum rtx_code, rtx); extern void ix86_expand_setcc (rtx, enum rtx_code, rtx, rtx);
extern int ix86_expand_int_movcc (rtx[]); extern int ix86_expand_int_movcc (rtx[]);
extern int ix86_expand_fp_movcc (rtx[]); extern int ix86_expand_fp_movcc (rtx[]);
extern bool ix86_expand_fp_vcond (rtx[]); extern bool ix86_expand_fp_vcond (rtx[]);
......
...@@ -2198,9 +2198,6 @@ extern int ix86_branch_cost, ix86_section_threshold; ...@@ -2198,9 +2198,6 @@ extern int ix86_branch_cost, ix86_section_threshold;
/* Smallest class containing REGNO. */ /* Smallest class containing REGNO. */
extern enum reg_class const regclass_map[FIRST_PSEUDO_REGISTER]; extern enum reg_class const regclass_map[FIRST_PSEUDO_REGISTER];
extern rtx ix86_compare_op0; /* operand 0 for comparisons */
extern rtx ix86_compare_op1; /* operand 1 for comparisons */
enum ix86_fpcmp_strategy { enum ix86_fpcmp_strategy {
IX86_FPCMP_SAHF, IX86_FPCMP_SAHF,
IX86_FPCMP_COMI, IX86_FPCMP_COMI,
......
...@@ -942,9 +942,8 @@ ...@@ -942,9 +942,8 @@
{ {
if (MEM_P (operands[1]) && MEM_P (operands[2])) if (MEM_P (operands[1]) && MEM_P (operands[2]))
operands[1] = force_reg (<MODE>mode, operands[1]); operands[1] = force_reg (<MODE>mode, operands[1]);
ix86_compare_op0 = operands[1]; ix86_expand_branch (GET_CODE (operands[0]),
ix86_compare_op1 = operands[2]; operands[1], operands[2], operands[3]);
ix86_expand_branch (GET_CODE (operands[0]), operands[3]);
DONE; DONE;
}) })
...@@ -959,9 +958,8 @@ ...@@ -959,9 +958,8 @@
{ {
if (MEM_P (operands[2]) && MEM_P (operands[3])) if (MEM_P (operands[2]) && MEM_P (operands[3]))
operands[2] = force_reg (<MODE>mode, operands[2]); operands[2] = force_reg (<MODE>mode, operands[2]);
ix86_compare_op0 = operands[2]; ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
ix86_compare_op1 = operands[3]; operands[2], operands[3]);
ix86_expand_setcc (GET_CODE (operands[1]), operands[0]);
DONE; DONE;
}) })
...@@ -1124,9 +1122,8 @@ ...@@ -1124,9 +1122,8 @@
(pc)))] (pc)))]
"TARGET_80387" "TARGET_80387"
{ {
ix86_compare_op0 = operands[1]; ix86_expand_branch (GET_CODE (operands[0]),
ix86_compare_op1 = operands[2]; operands[1], operands[2], operands[3]);
ix86_expand_branch (GET_CODE (operands[0]), operands[3]);
DONE; DONE;
}) })
...@@ -1140,9 +1137,8 @@ ...@@ -1140,9 +1137,8 @@
(const_int 0)]))] (const_int 0)]))]
"TARGET_80387" "TARGET_80387"
{ {
ix86_compare_op0 = operands[2]; ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
ix86_compare_op1 = operands[3]; operands[2], operands[3]);
ix86_expand_setcc (GET_CODE (operands[1]), operands[0]);
DONE; DONE;
}) })
...@@ -1158,9 +1154,8 @@ ...@@ -1158,9 +1154,8 @@
(pc)))] (pc)))]
"TARGET_80387 || (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)" "TARGET_80387 || (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)"
{ {
ix86_compare_op0 = operands[1]; ix86_expand_branch (GET_CODE (operands[0]),
ix86_compare_op1 = operands[2]; operands[1], operands[2], operands[3]);
ix86_expand_branch (GET_CODE (operands[0]), operands[3]);
DONE; DONE;
}) })
...@@ -1174,9 +1169,8 @@ ...@@ -1174,9 +1169,8 @@
(const_int 0)]))] (const_int 0)]))]
"TARGET_80387 || (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)" "TARGET_80387 || (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)"
{ {
ix86_compare_op0 = operands[2]; ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
ix86_compare_op1 = operands[3]; operands[2], operands[3]);
ix86_expand_setcc (GET_CODE (operands[1]), operands[0]);
DONE; DONE;
}) })
...@@ -1189,9 +1183,8 @@ ...@@ -1189,9 +1183,8 @@
(pc)))] (pc)))]
"" ""
{ {
ix86_compare_op0 = operands[1]; ix86_expand_branch (GET_CODE (operands[0]),
ix86_compare_op1 = operands[2]; operands[1], operands[2], operands[3]);
ix86_expand_branch (GET_CODE (operands[0]), operands[3]);
DONE; DONE;
}) })
...@@ -1202,9 +1195,8 @@ ...@@ -1202,9 +1195,8 @@
(match_operand 3 "const0_operand" "")]))] (match_operand 3 "const0_operand" "")]))]
"" ""
{ {
ix86_compare_op0 = operands[2]; ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
ix86_compare_op1 = operands[3]; operands[2], operands[3]);
ix86_expand_setcc (GET_CODE (operands[1]), operands[0]);
DONE; DONE;
}) })
......
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