aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1996-04-12 17:49:19 -0600
committerJeff Law <law@gcc.gnu.org>1996-04-12 17:49:19 -0600
commit5ae5999cfe054bd1840277903b2aed4e905c2236 (patch)
tree67b543fba936d6b6a040c26646463276725d4991 /gcc
parentf8f26adcc248a5677fe7f6f0ee4ed231f754accc (diff)
downloadgcc-5ae5999cfe054bd1840277903b2aed4e905c2236.zip
gcc-5ae5999cfe054bd1840277903b2aed4e905c2236.tar.gz
gcc-5ae5999cfe054bd1840277903b2aed4e905c2236.tar.bz2
h8300.c (const_costs): -4 and 4 are cheap on the h8300h.
* h8300/h8300.c (const_costs): -4 and 4 are cheap on the h8300h. (notice_update_cc): Remove references to "value2" field. From-SVN: r11709
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/h8300/h8300.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 2d8fc53..f07d571 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -67,7 +67,6 @@ static char *names_upper_extended[] =
char **h8_reg_names;
/* Various operations needed by the following, indexed by CPU_TYPE. */
-/* ??? The h8/300 assembler doesn't understand pop.w (yet). */
static char *h8_push_ops[2] =
{"push", "push.l"};
@@ -687,6 +686,12 @@ const_costs (r, c)
case -1:
case -2:
return 0;
+ case 4:
+ case -4:
+ if (TARGET_H8300H)
+ return 0;
+ else
+ return 1;
default:
return 1;
}
@@ -1277,10 +1282,6 @@ notice_update_cc (body, insn)
if (cc_status.value1 != 0
&& reg_overlap_mentioned_p (recog_operand[0], cc_status.value1))
cc_status.value1 = 0;
- /* ??? Is value2 ever set?. */
- if (cc_status.value2 != 0
- && reg_overlap_mentioned_p (recog_operand[0], cc_status.value2))
- cc_status.value2 = 0;
break;
case CC_SET: