From d6456562b6801f0147fd10fa00c4fd76709d6b2b Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Mon, 26 Jan 2004 20:21:11 +0000 Subject: [PATCH] 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: r76663 --- gcc/ChangeLog | 5 +++++ gcc/config/h8300/h8300.c | 27 +++++++++++++++------------ 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 + + * 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 * 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