Commit 4093985c by Kazu Hirata Committed by Kazu Hirata

h8300-protos.h: Update the prototype of fix_bit_operand().

	* config/h8300/h8300-protos.h: Update the prototype of
	fix_bit_operand().
	* config/h8300/h8300.c (fix_bit_operand): Remove the second
	argument "what".
	* config/h8300/h8300.md: Update all callers.

From-SVN: r78006
parent 6cf291df
2004-02-17 Kazu Hirata <kazu@cs.umass.edu> 2004-02-17 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300-protos.h: Update the prototype of
fix_bit_operand().
* config/h8300/h8300.c (fix_bit_operand): Remove the second
argument "what".
* config/h8300/h8300.md: Update all callers.
2004-02-17 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (fix_bit_operand): Change the name of * config/h8300/h8300.c (fix_bit_operand): Change the name of
the last argument to "code" from "type". the last argument to "code" from "type".
......
...@@ -48,7 +48,7 @@ extern int compute_logical_op_cc (enum machine_mode, rtx *); ...@@ -48,7 +48,7 @@ extern int compute_logical_op_cc (enum machine_mode, rtx *);
extern void expand_a_shift (enum machine_mode, int, rtx[]); extern void expand_a_shift (enum machine_mode, int, rtx[]);
extern int h8300_shift_needs_scratch_p (int, enum machine_mode); extern int h8300_shift_needs_scratch_p (int, enum machine_mode);
extern int expand_a_rotate (enum rtx_code, rtx[]); extern int expand_a_rotate (enum rtx_code, rtx[]);
extern int fix_bit_operand (rtx *, int, enum rtx_code); extern int fix_bit_operand (rtx *, enum rtx_code);
extern int h8300_adjust_insn_length (rtx, int); extern int h8300_adjust_insn_length (rtx, int);
extern void split_adds_subs (enum machine_mode, rtx[]); extern void split_adds_subs (enum machine_mode, rtx[]);
......
...@@ -4070,14 +4070,15 @@ compute_a_rotate_length (rtx *operands) ...@@ -4070,14 +4070,15 @@ compute_a_rotate_length (rtx *operands)
operating insn. */ operating insn. */
int int
fix_bit_operand (rtx *operands, int what, enum rtx_code code) fix_bit_operand (rtx *operands, enum rtx_code code)
{ {
/* The bit_operand predicate accepts any memory during RTL generation, but /* The bit_operand predicate accepts any memory during RTL generation, but
only 'U' memory afterwards, so if this is a MEM operand, we must force only 'U' memory afterwards, so if this is a MEM operand, we must force
it to be valid for 'U' by reloading the address. */ it to be valid for 'U' by reloading the address. */
if ((what == 0 && single_zero_operand (operands[2], QImode)) if (code == AND
|| (what == 1 && single_one_operand (operands[2], QImode))) ? single_zero_operand (operands[2], QImode)
: single_one_operand (operands[2], QImode))
{ {
/* OK to have a memory dest. */ /* OK to have a memory dest. */
if (GET_CODE (operands[0]) == MEM if (GET_CODE (operands[0]) == MEM
......
...@@ -1202,7 +1202,7 @@ ...@@ -1202,7 +1202,7 @@
"" ""
" "
{ {
if (fix_bit_operand (operands, 0, AND)) if (fix_bit_operand (operands, AND))
DONE; DONE;
}") }")
...@@ -1298,7 +1298,7 @@ ...@@ -1298,7 +1298,7 @@
"" ""
" "
{ {
if (fix_bit_operand (operands, 1, IOR)) if (fix_bit_operand (operands, IOR))
DONE; DONE;
}") }")
...@@ -1339,7 +1339,7 @@ ...@@ -1339,7 +1339,7 @@
"" ""
" "
{ {
if (fix_bit_operand (operands, 1, XOR)) if (fix_bit_operand (operands, XOR))
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