aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2002-12-23 07:46:32 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2002-12-23 07:46:32 +0000
commitade53a503621b48fe09a9f6aab020187ece65e45 (patch)
tree5729728a8d02fe57f5ed60a508fabdb6d67fa405 /gcc
parentd317855ebc20b623e5479309e17ede057510c9b6 (diff)
downloadgcc-ade53a503621b48fe09a9f6aab020187ece65e45.zip
gcc-ade53a503621b48fe09a9f6aab020187ece65e45.tar.gz
gcc-ade53a503621b48fe09a9f6aab020187ece65e45.tar.bz2
* config/h8300/h8300.c (output_a_shift): Remove unused code.
From-SVN: r60423
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/h8300/h8300.c32
2 files changed, 13 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 65e8ed7..114be45 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2002-12-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (output_a_shift): Remove unused code.
+
2002-12-22 Mark Mitchell <mark@codesourcery.com>
* stor-layout.c (update_alignment_for_field): Guard use of
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 0eb973d..6d8cbb6 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -3104,29 +3104,15 @@ output_a_shift (operands)
output_asm_insn (info.shift1, operands);
/* Now mask off the high bits. */
- switch (mode)
- {
- case QImode:
- sprintf (insn_buf, "and\t#%d,%%X0", mask);
- cc_status.value1 = operands[0];
- cc_status.flags |= CC_NO_CARRY;
- break;
- case HImode:
- if (TARGET_H8300)
- {
- sprintf (insn_buf, "and\t#%d,%%s0\n\tand\t#%d,%%t0",
- mask & 255, mask >> 8);
- }
- else
- {
- sprintf (insn_buf, "and.w\t#%d,%%T0", mask);
- cc_status.value1 = operands[0];
- cc_status.flags |= CC_NO_CARRY;
- }
- break;
- default:
- abort ();
- }
+ if (mode == QImode)
+ sprintf (insn_buf, "and\t#%d,%%X0", mask);
+ else if (mode == HImode && (TARGET_H8300H || TARGET_H8300S))
+ sprintf (insn_buf, "and.w\t#%d,%%T0", mask);
+ else
+ abort ();
+
+ cc_status.value1 = operands[0];
+ cc_status.flags |= CC_NO_CARRY;
output_asm_insn (insn_buf, operands);
return "";
}