diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2004-01-27 02:59:35 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-01-27 02:59:35 +0000 |
commit | a4bb41cc2fba94fb61022573850fd2de44e13170 (patch) | |
tree | 8ba13af01a12bed167b4e1db0667ac89ff45589c /gcc | |
parent | ffcec5c8324a55d5d0a3e80c08abfcee7b24df87 (diff) | |
download | gcc-a4bb41cc2fba94fb61022573850fd2de44e13170.zip gcc-a4bb41cc2fba94fb61022573850fd2de44e13170.tar.gz gcc-a4bb41cc2fba94fb61022573850fd2de44e13170.tar.bz2 |
h8300.c (h8300_tiny_constant_address_p): Use a switch statement instead of a chain of if statements.
* config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
switch statement instead of a chain of if statements.
From-SVN: r76689
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.c | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1e9e491..b9e9d57 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): Accept + constant addresses in the normal mode. + 2004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * system.h (CHAR_BITFIELD): Delete. diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index 97f7e9f..7f027b2 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -4437,8 +4437,11 @@ h8300_tiny_constant_address_p (rtx x) switch (GET_CODE (x)) { case SYMBOL_REF: - /* We accept symbols declared with tiny_data. */ - return (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_TINY_DATA) != 0; + /* In the normal mode, any symbol fits in the 16-bit absolute + address range. We also accept symbols declared with + tiny_data. */ + return (TARGET_NORMAL_MODE + || (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_TINY_DATA) != 0); case CONST_INT: addr = INTVAL (x); @@ -4448,6 +4451,9 @@ h8300_tiny_constant_address_p (rtx x) || (TARGET_H8300S && (IN_RANGE (addr, s1, s2) || IN_RANGE (addr, s3, s4)))); + case CONST: + return TARGET_NORMAL_MODE; + default: return 0; } |