summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 65e8ed77067..114be4503a8 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 0eb973dc078..6d8cbb637a1 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 "";
}
OpenPOWER on IntegriCloud