aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-02-18 00:42:39 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-02-18 00:42:39 +0000
commit4093985cee3cd75e358b544a580d9e9ddc2efec8 (patch)
treec97c9d6689169b1c042a218b207ecb047a186b00 /gcc/config
parent6cf291df7deca3d056ef246a01cc92109e988f43 (diff)
downloadgcc-4093985cee3cd75e358b544a580d9e9ddc2efec8.zip
gcc-4093985cee3cd75e358b544a580d9e9ddc2efec8.tar.gz
gcc-4093985cee3cd75e358b544a580d9e9ddc2efec8.tar.bz2
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
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/h8300/h8300-protos.h2
-rw-r--r--gcc/config/h8300/h8300.c7
-rw-r--r--gcc/config/h8300/h8300.md6
3 files changed, 8 insertions, 7 deletions
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index 2595a3c..a311362 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -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 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[]);
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 33dc46e..756f8a1 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -4070,14 +4070,15 @@ compute_a_rotate_length (rtx *operands)
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
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index f18f007..4cb396d 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1202,7 +1202,7 @@
""
"
{
- if (fix_bit_operand (operands, 0, AND))
+ if (fix_bit_operand (operands, AND))
DONE;
}")
@@ -1298,7 +1298,7 @@
""
"
{
- if (fix_bit_operand (operands, 1, IOR))
+ if (fix_bit_operand (operands, IOR))
DONE;
}")
@@ -1339,7 +1339,7 @@
""
"
{
- if (fix_bit_operand (operands, 1, XOR))
+ if (fix_bit_operand (operands, XOR))
DONE;
}")