From: Kazu Hirata Date: Tue, 21 Jan 2003 03:54:49 +0000 (+0000) Subject: * config/h8300/h8300.c (get_shift_alg): Remove redundant code. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b30686ec5e42a0c69de35b79cd2147bc80d0bdad;p=gcc.git * config/h8300/h8300.c (get_shift_alg): Remove redundant code. From-SVN: r61529 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d8ef83d524d..86cc7f0dceb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-01-20 Kazu Hirata + + * config/h8300/h8300.c (get_shift_alg): Remove redundant code. + 2003-01-20 Kaveh R. Ghazi * system.h (__NO_STRING_INLINES): Define. diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index faa924816ed..937e76bb98b 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -2802,7 +2802,8 @@ get_shift_alg (shift_type, shift_mode, count, info) goto end; } } - else if (8 <= count && count <= 13) + else if ((8 <= count && count <= 13) + || (TARGET_H8300S & count == 14)) { info->remainder = count - 8; @@ -2827,7 +2828,6 @@ get_shift_alg (shift_type, shift_mode, count, info) { info->special = "mov.b\t%t0,%s0\n\tbld\t#7,%s0\n\tsubx\t%t0,%t0"; info->shift1 = "shar.b\t%s0"; - info->shift2 = "shar.b\t#2,%s0"; } else { @@ -2854,7 +2854,7 @@ get_shift_alg (shift_type, shift_mode, count, info) else if (TARGET_H8300H) info->special = "shll.b\t%t0\n\tsubx.b\t%s0,%s0\n\tshll.b\t%t0\n\trotxl.b\t%s0\n\texts.w\t%T0"; else /* TARGET_H8300S */ - info->special = "mov.b\t%t0,%s0\n\texts.w\t%T0\n\tshar.w\t#2,%T0\n\tshar.w\t#2,%T0\n\tshar.w\t#2,%T0"; + abort (); goto end; } } @@ -2948,14 +2948,7 @@ get_shift_alg (shift_type, shift_mode, count, info) case SHIFT_ASHIFT: info->special = "mov.w\t%f0,%e0\n\tsub.w\t%f0,%f0"; if (TARGET_H8300) - { - info->shift1 = "add.w\t%e0,%e0"; - } - else - { - info->shift1 = "shll.l\t%S0"; - info->shift2 = "shll.l\t#2,%S0"; - } + info->shift1 = "add.w\t%e0,%e0"; goto end; case SHIFT_LSHIFTRT: if (TARGET_H8300) @@ -3010,18 +3003,12 @@ get_shift_alg (shift_type, shift_mode, count, info) { case SHIFT_ASHIFT: info->special = "mov.b\t%s0,%t0\n\tsub.b\t%s0,%s0\n\tmov.w\t%f0,%e0\n\tsub.w\t%f0,%f0"; - info->shift1 = "shll.l\t%S0"; - info->shift2 = "shll.l\t#2,%S0"; goto end; case SHIFT_LSHIFTRT: info->special = "mov.w\t%e0,%f0\n\tmov.b\t%t0,%s0\n\textu.w\t%f0\n\textu.l\t%S0"; - info->shift1 = "shlr.l\t%S0"; - info->shift2 = "shlr.l\t#2,%S0"; goto end; case SHIFT_ASHIFTRT: info->special = "mov.w\t%e0,%f0\n\tmov.b\t%t0,%s0\n\texts.w\t%f0\n\texts.l\t%S0"; - info->shift1 = "shar.l\t%S0"; - info->shift2 = "shar.l\t#2,%S0"; goto end; } } @@ -3034,16 +3021,12 @@ get_shift_alg (shift_type, shift_mode, count, info) info->special = "sub.w\t%e0,%e0\n\trotr.l\t%S0\n\trotr.l\t%S0\n\trotr.l\t%S0\n\trotr.l\t%S0\n\tsub.w\t%f0,%f0"; else info->special = "sub.w\t%e0,%e0\n\trotr.l\t#2,%S0\n\trotr.l\t#2,%S0\n\tsub.w\t%f0,%f0"; - info->shift1 = ""; - info->shift2 = ""; goto end; case SHIFT_LSHIFTRT: if (TARGET_H8300H) info->special = "sub.w\t%f0,%f0\n\trotl.l\t%S0\n\trotl.l\t%S0\n\trotl.l\t%S0\n\trotl.l\t%S0\n\textu.l\t%S0"; else info->special = "sub.w\t%f0,%f0\n\trotl.l\t#2,%S0\n\trotl.l\t#2,%S0\n\textu.l\t%S0"; - info->shift1 = ""; - info->shift2 = ""; goto end; case SHIFT_ASHIFTRT: abort (); @@ -3058,16 +3041,12 @@ get_shift_alg (shift_type, shift_mode, count, info) info->special = "sub.w\t%e0,%e0\n\trotr.l\t%S0\n\trotr.l\t%S0\n\trotr.l\t%S0\n\tsub.w\t%f0,%f0"; else info->special = "sub.w\t%e0,%e0\n\trotr.l\t#2,%S0\n\trotr.l\t%S0\n\tsub.w\t%f0,%f0"; - info->shift1 = ""; - info->shift2 = ""; goto end; case SHIFT_LSHIFTRT: if (TARGET_H8300H) info->special = "sub.w\t%f0,%f0\n\trotl.l\t%S0\n\trotl.l\t%S0\n\trotl.l\t%S0\n\textu.l\t%S0"; else info->special = "sub.w\t%f0,%f0\n\trotl.l\t#2,%S0\n\trotl.l\t%S0\n\textu.l\t%S0"; - info->shift1 = ""; - info->shift2 = ""; goto end; case SHIFT_ASHIFTRT: abort (); @@ -3082,16 +3061,12 @@ get_shift_alg (shift_type, shift_mode, count, info) info->special = "sub.w\t%e0,%e0\n\trotr.l\t%S0\n\trotr.l\t%S0\n\tsub.w\t%f0,%f0"; else info->special = "sub.w\t%e0,%e0\n\trotr.l\t#2,%S0\n\tsub.w\t%f0,%f0"; - info->shift1 = ""; - info->shift2 = ""; goto end; case SHIFT_LSHIFTRT: if (TARGET_H8300H) info->special = "sub.w\t%f0,%f0\n\trotl.l\t%S0\n\trotl.l\t%S0\n\textu.l\t%S0"; else info->special = "sub.w\t%f0,%f0\n\trotl.l\t#2,%S0\n\textu.l\t%S0"; - info->shift1 = ""; - info->shift2 = ""; goto end; case SHIFT_ASHIFTRT: abort ();