*** empty log message ***
From-SVN: r8064
This commit is contained in:
parent
a1dba937e5
commit
c3898ccd98
@ -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;
|
||||
}
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user