fix_bit_operand().
* config/h8300/h8300.c (fix_bit_operand): Remove the second
argument "what".
* config/h8300/h8300.md: Update all callers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78006
138bc75d-0d04-0410-961f-
82ee72b054a4
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
the last argument to "code" from "type".
extern void expand_a_shift (enum machine_mode, int, rtx[]);
extern int h8300_shift_needs_scratch_p (int, enum machine_mode);
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 void split_adds_subs (enum machine_mode, rtx[]);
operating insn. */
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
only 'U' memory afterwards, so if this is a MEM operand, we must force
it to be valid for 'U' by reloading the address. */
- if ((what == 0 && single_zero_operand (operands[2], QImode))
- || (what == 1 && single_one_operand (operands[2], QImode)))
+ if (code == AND
+ ? single_zero_operand (operands[2], QImode)
+ : single_one_operand (operands[2], QImode))
{
/* OK to have a memory dest. */
if (GET_CODE (operands[0]) == MEM
""
"
{
- if (fix_bit_operand (operands, 0, AND))
+ if (fix_bit_operand (operands, AND))
DONE;
}")
""
"
{
- if (fix_bit_operand (operands, 1, IOR))
+ if (fix_bit_operand (operands, IOR))
DONE;
}")
""
"
{
- if (fix_bit_operand (operands, 1, XOR))
+ if (fix_bit_operand (operands, XOR))
DONE;
}")