summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-26 20:21:11 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-26 20:21:11 +0000
commit52d2fba271d366b8349df79aa51060c052e2b1dd (patch)
treefc522414beed0e8a0f60e44e9b52eb9003e9699d
parenta9d1411ad4ece6ca539b1f6dff0d5d3aef3f1ab2 (diff)
downloadppe42-gcc-52d2fba271d366b8349df79aa51060c052e2b1dd.tar.gz
ppe42-gcc-52d2fba271d366b8349df79aa51060c052e2b1dd.zip
* config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
switch statement instead of a chain of if statements. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76663 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/h8300/h8300.c27
2 files changed, 20 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2bdeffef1d2..483a47a01e6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
+ switch statement instead of a chain of if statements.
+
2004-01-26 Jeff Law <law@redhat.com>
* doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 3c503a9393d..97f7e9f0401 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -4434,21 +4434,24 @@ h8300_tiny_constant_address_p (rtx x)
unsigned HOST_WIDE_INT addr;
- /* We accept symbols declared with tiny_data. */
- if (GET_CODE (x) == SYMBOL_REF)
- return (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_TINY_DATA) != 0;
+ switch (GET_CODE (x))
+ {
+ case SYMBOL_REF:
+ /* We accept symbols declared with tiny_data. */
+ return (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_TINY_DATA) != 0;
- if (GET_CODE (x) != CONST_INT)
- return 0;
+ case CONST_INT:
+ addr = INTVAL (x);
+ return (TARGET_NORMAL_MODE
+ || (TARGET_H8300H
+ && (IN_RANGE (addr, h1, h2) || IN_RANGE (addr, h3, h4)))
+ || (TARGET_H8300S
+ && (IN_RANGE (addr, s1, s2) || IN_RANGE (addr, s3, s4))));
- addr = INTVAL (x);
+ default:
+ return 0;
+ }
- return (0
- || TARGET_NORMAL_MODE
- || (TARGET_H8300H
- && (IN_RANGE (addr, h1, h2) || IN_RANGE (addr, h3, h4)))
- || (TARGET_H8300S
- && (IN_RANGE (addr, s1, s2) || IN_RANGE (addr, s3, s4))));
}
int
OpenPOWER on IntegriCloud