Commit 679655e6 by Richard Kenner

Add second argument to SELECT_CC_MODE.

From-SVN: r1214
parent b565a316
...@@ -433,7 +433,7 @@ gen_compare_reg (code, x, y) ...@@ -433,7 +433,7 @@ gen_compare_reg (code, x, y)
rtx x, y; rtx x, y;
{ {
rtx cc_reg; rtx cc_reg;
enum machine_mode ccmode = SELECT_CC_MODE (code, x); enum machine_mode ccmode = SELECT_CC_MODE (code, x, y);
enum machine_mode mode enum machine_mode mode
= GET_MODE (x) == VOIDmode ? GET_MODE (y) : GET_MODE (x); = GET_MODE (x) == VOIDmode ? GET_MODE (y) : GET_MODE (x);
......
...@@ -1105,7 +1105,7 @@ extern struct rtx_def *gen_compare_reg (); ...@@ -1105,7 +1105,7 @@ extern struct rtx_def *gen_compare_reg ();
should be used. CC_NOOVmode should be used when the first operand is a should be used. CC_NOOVmode should be used when the first operand is a
PLUS, MINUS, or NEG. CCmode should be used when no special processing is PLUS, MINUS, or NEG. CCmode should be used when no special processing is
needed. */ needed. */
#define SELECT_CC_MODE(OP,X) select_cc_mode (OP, X) #define SELECT_CC_MODE(OP,X,Y) select_cc_mode (OP, X,Y)
/* A function address in a call instruction is a byte address /* A function address in a call instruction is a byte address
(for indexing purposes) so give the MEM rtx a byte's mode. */ (for indexing purposes) so give the MEM rtx a byte's mode. */
......
...@@ -456,7 +456,7 @@ gen_compare_reg (code, x, y) ...@@ -456,7 +456,7 @@ gen_compare_reg (code, x, y)
enum rtx_code code; enum rtx_code code;
rtx x, y; rtx x, y;
{ {
enum machine_mode mode = SELECT_CC_MODE (code, x); enum machine_mode mode = SELECT_CC_MODE (code, x, y);
rtx cc_reg = gen_rtx (REG, mode, 0); rtx cc_reg = gen_rtx (REG, mode, 0);
emit_insn (gen_rtx (SET, VOIDmode, cc_reg, emit_insn (gen_rtx (SET, VOIDmode, cc_reg,
......
...@@ -1292,7 +1292,7 @@ extern struct rtx_def *legitimize_pic_address (); ...@@ -1292,7 +1292,7 @@ extern struct rtx_def *legitimize_pic_address ();
CCFP[E]mode is used. CC_NOOVmode should be used when the first operand is a CCFP[E]mode is used. CC_NOOVmode should be used when the first operand is a
PLUS, MINUS, or NEG. CCmode should be used when no special processing is PLUS, MINUS, or NEG. CCmode should be used when no special processing is
needed. */ needed. */
#define SELECT_CC_MODE(OP,X) \ #define SELECT_CC_MODE(OP,X,Y) \
(GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT \ (GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT \
? ((OP == EQ || OP == NE) ? CCFPmode : CCFPEmode) \ ? ((OP == EQ || OP == NE) ? CCFPmode : CCFPEmode) \
: ((GET_CODE (X) == PLUS || GET_CODE (X) == MINUS || GET_CODE (X) == NEG) \ : ((GET_CODE (X) == PLUS || GET_CODE (X) == MINUS || GET_CODE (X) == NEG) \
......
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