*** empty log message ***

From-SVN: r8064
This commit is contained in:
Steve Chamberlain 1994-09-09 23:43:17 +00:00
parent a1dba937e5
commit c3898ccd98
3 changed files with 44 additions and 7 deletions

View File

@ -693,7 +693,7 @@ prepare_move_operands (operands, mode)
/* copy the source to a register */
operands[1] = copy_to_mode_reg (mode, operands[1]);
}
if ((mode == DImode || mode == SImode || mode == HImode || mode == QImode)
if ((mode == SImode || mode == HImode || mode == QImode)
&& GET_CODE (operands[1]) == CONST_INT)
{
return synth_constant (operands, mode);
@ -2512,3 +2512,14 @@ sh_function_arg_partial_nregs (CUM, MODE, TYPE, NAMED)
}
return 0;
}
/* Turn this on to recognise shift insns which aren't supported in the
hardware. This will allow the combiner to notice more patterns,
but the down side is that the asm outputter will have to emit
several instructions for each shift which isn't possible in the
hardware, this makes scheduling perform badly .*/
int fake_shift()
{
return 0;
}

View File

@ -634,7 +634,7 @@
(ashift:SI (match_operand:SI 1 "arith_reg_operand" "0")
(match_operand:SI 2 "immediate_operand" "n")))
(clobber (reg:SI 18))]
""
"fake_shift()"
"*return output_shift(\"shll\", operands[0], operands[2], ASHIFT);"
[(set_attr "length" "12")
(set_attr "in_delay_slot" "no")
@ -727,7 +727,7 @@
(lshiftrt:SI (match_operand:SI 1 "arith_reg_operand" "0")
(match_operand:SI 2 "immediate_operand" "n")))
(clobber (reg:SI 18))]
""
"fake_shift()"
"* return output_shift (\"shlr\", operands[0], operands[2], LSHIFTRT);"
[(set_attr "length" "12")
(set_attr "in_delay_slot" "no")

View File

@ -1,6 +1,32 @@
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
T_CFLAGS = -DDONT_HAVE_STDIO -DDONT_HAVE_SETJMP -Dinhibit_libc
LIBGCC2_CFLAGS=-g -O5 $(GCC_CFLAGS)
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = sh/lib1funcs.asm
LIB1ASMFUNCS = _ashiftrt _movstr _mulsi3 _sdivsi3 _udivsi3
LIBGCC2_CFLAGS=-g -O5 $(GCC_CFLAGS)
# CYGNUS LOCAL sh
LANGUAGES=c c++ proto
# CYGNUS LOCAL sh
# These are really part of libgcc1, but this will cause them to be
# built correctly, so... [taken from t-ose68k]
LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c ashlsi3.c ashrsi3.c lshrsi3.c
ashlsi3.c: $(srcdir)/config/sh/ashlsi3.c
cp $(srcdir)/config/sh/ashlsi3.c ashlsi3.c
ashrsi3.c: $(srcdir)/config/sh/ashrsi3.c
cp $(srcdir)/config/sh/ashrsi3.c ashrsi3.c
lshrsi3.c: $(srcdir)/config/sh/lshrsi3.c
cp $(srcdir)/config/sh/lshrsi3.c lshrsi3.c
dp-bit.c: $(srcdir)/config/fp-bit.c
cat $(srcdir)/config/fp-bit.c > dp-bit.c
fp-bit.c: $(srcdir)/config/fp-bit.c
echo '#define FLOAT' > fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c