diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 65e8ed77067dd771e1faf5914686d18af4f2f0f4..114be4503a81b7b12f56ef34e516917468f2dc80 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 0eb973dc078f5db059f2690631f2413965afc1dc..6d8cbb637a1918f52e1808ab4fa9a1845b3091f3 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 ""; }