head	1.24;
access;
symbols
	RELENG_1:1.9;
locks; strict;
comment	@# @;


1.24
date	2006.04.23.16.23.04;	author coppice;	state Exp;
branches;
next	1.23;

1.23
date	2006.04.05.12.08.21;	author coppice;	state Exp;
branches;
next	1.22;

1.22
date	2005.03.17.14.08.47;	author coppice;	state Exp;
branches;
next	1.21;

1.21
date	2004.07.08.19.21.09;	author coppice;	state Exp;
branches;
next	1.20;

1.20
date	2004.02.27.14.57.32;	author coppice;	state Exp;
branches;
next	1.19;

1.19
date	2004.02.23.11.26.29;	author coppice;	state Exp;
branches;
next	1.18;

1.18
date	2003.12.03.15.41.41;	author diwil;	state Exp;
branches;
next	1.17;

1.17
date	2003.11.20.12.41.20;	author coppice;	state Exp;
branches;
next	1.16;

1.16
date	2003.08.28.14.54.12;	author coppice;	state Exp;
branches;
next	1.15;

1.15
date	2003.08.14.13.17.16;	author coppice;	state Exp;
branches;
next	1.14;

1.14
date	2003.06.27.11.14.15;	author diwil;	state Exp;
branches;
next	1.13;

1.13
date	2003.06.13.14.50.48;	author coppice;	state Exp;
branches;
next	1.12;

1.12
date	2003.02.10.18.35.25;	author diwil;	state Exp;
branches;
next	1.11;

1.11
date	2003.01.09.15.05.58;	author diwil;	state Exp;
branches;
next	1.10;

1.10
date	2003.01.09.14.36.58;	author diwil;	state Exp;
branches;
next	1.9;

1.9
date	2002.12.01.18.28.45;	author diwil;	state Exp;
branches;
next	1.8;

1.8
date	2002.11.05.12.27.36;	author diwil;	state Exp;
branches;
next	1.7;

1.7
date	2002.10.31.20.11.10;	author diwil;	state Exp;
branches;
next	1.6;

1.6
date	2002.10.31.14.58.41;	author diwil;	state Exp;
branches;
next	1.5;

1.5
date	2002.10.25.13.50.32;	author diwil;	state Exp;
branches;
next	1.4;

1.4
date	2002.10.16.14.07.46;	author diwil;	state Exp;
branches;
next	1.3;

1.3
date	2002.09.16.07.27.29;	author diwil;	state Exp;
branches;
next	1.2;

1.2
date	2002.09.13.07.00.29;	author diwil;	state Exp;
branches;
next	1.1;

1.1
date	2002.09.09.11.21.42;	author diwil;	state Exp;
branches;
next	;


desc
@@


1.24
log
@Whoops. The last change of 461x to G461x should have gone further :-(
@
text
@# Specific names for MSP430 tools
AR_FOR_TARGET = msp430-ar
RANLIB_FOR_TARGET = msp430-ranlib
NM_FOR_TARGET = msp430-nm

CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = msp430/libgcc.S
LIB1ASMFUNCS = _cmpdi2 \
	_cmpsf2 \
	__stop_progExec__ \
	_mulqi3 \
	_mulhi3 \
	_mulsi3 \
	_mulsi3hw \
	_umulqihi3 \
	_umulhisi3 \
	_mulqihi3 \
	_mulhisi3 \
	_udivmodqi4 \
	_divmodqi4 \
	_udivmodhi4 \
	_divmodhi4 \
	_udivmodsi4 \
	_divmodsi4 \
	_reset_vector__ \
	__prologue_saver \
	__epilogue_restorer \
	__epilogue_restorer_intr \
	_udivmoddi3_parts \
	_udivdi3 \
	_umoddi3 \
	_divdi3 \
	_moddi3 \
	_muldi3	
	
	
	

# libgcc...
LIBGCC1_TEST =

# We do not have the DF type.
# Most of the C functions in libgcc2 use almost all registers,
TARGET_LIBGCC2_CFLAGS = -DDF=SF -Dinhibit_libc -g

fp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/msp430/t-msp430
	echo '#define FLOAT' > fp-bit.c
	echo '#define FLOAT_ONLY' >> fp-bit.c
	echo '#define CMPtype HItype' >> fp-bit.c
	echo '#define DF SF' >> fp-bit.c
	echo '#define DI SI' >> fp-bit.c
	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
	echo '#define SMALL_MACHINE' >> fp-bit.c
	cat $(srcdir)/config/fp-bit.c >> fp-bit.c

FPBIT = fp-bit.c

MULTILIB_OPTIONS = mmcu=msp1/mmcu=msp2
MULTILIB_DIRNAMES = msp1 msp2


MULTILIB_MATCHES = \
	mmcu?msp1=mmcu?msp430x110   mmcu?msp1=mmcu?msp430x112 \
	mmcu?msp1=mmcu?msp430x1101  mmcu?msp1=mmcu?msp430x1111  mmcu?msp1=mmcu?msp430x1121 \
	mmcu?msp1=mmcu?msp430x1122  mmcu?msp1=mmcu?msp430x1132 \
	mmcu?msp1=mmcu?msp430x122   mmcu?msp1=mmcu?msp430x123 \
	mmcu?msp1=mmcu?msp430x1222  mmcu?msp1=mmcu?msp430x1232 \
	mmcu?msp1=mmcu?msp430x133   mmcu?msp1=mmcu?msp430x135 \
	mmcu?msp1=mmcu?msp430x1331  mmcu?msp1=mmcu?msp430x1351 \
	mmcu?msp2=mmcu?msp430x147   mmcu?msp2=mmcu?msp430x148   mmcu?msp2=mmcu?msp430x149 \
	mmcu?msp2=mmcu?msp430x1471  mmcu?msp2=mmcu?msp430x1481  mmcu?msp2=mmcu?msp430x1491 \
	mmcu?msp1=mmcu?msp430x155   mmcu?msp1=mmcu?msp430x156   mmcu?msp1=mmcu?msp430x157 \
	mmcu?msp2=mmcu?msp430x167   mmcu?msp2=mmcu?msp430x168   mmcu?msp2=mmcu?msp430x169 \
	mmcu?msp2=mmcu?msp430x1610  mmcu?msp2=mmcu?msp430x1611  mmcu?msp2=mmcu?msp430x1612 \
	mmcu?msp1=mmcu?msp430x2001  mmcu?msp1=mmcu?msp430x2011 \
	mmcu?msp1=mmcu?msp430x2002  mmcu?msp1=mmcu?msp430x2012 \
	mmcu?msp1=mmcu?msp430x2003  mmcu?msp1=mmcu?msp430x2013 \
	mmcu?msp1=mmcu?msp430x2101  mmcu?msp1=mmcu?msp430x2111  mmcu?msp1=mmcu?msp430x2121 \
	mmcu?msp1=mmcu?msp430x2131 \
	mmcu?msp1=mmcu?msp430x2234  mmcu?msp1=mmcu?msp430x2254  mmcu?msp1=mmcu?msp430x2274 \
	mmcu?msp1=mmcu?msp430x311   mmcu?msp1=mmcu?msp430x312   mmcu?msp1=mmcu?msp430x313 \
	mmcu?msp1=mmcu?msp430x314   mmcu?msp1=mmcu?msp430x315 \
	mmcu?msp1=mmcu?msp430x323   mmcu?msp1=mmcu?msp430x325 \
	mmcu?msp2=mmcu?msp430x336   mmcu?msp2=mmcu?msp430x337 \
	mmcu?msp1=mmcu?msp430x412   mmcu?msp1=mmcu?msp430x413 \
	mmcu?msp1=mmcu?msp430x415   mmcu?msp1=mmcu?msp430x417 \
	mmcu?msp2=mmcu?msp430x423   mmcu?msp2=mmcu?msp430x425   mmcu?msp2=mmcu?msp430x427 \
	mmcu?msp1=mmcu?msp430x4250  mmcu?msp1=mmcu?msp430x4260  mmcu?msp1=mmcu?msp430x4270 \
	mmcu?msp2=mmcu?msp430xE423  mmcu?msp2=mmcu?msp430xE425  mmcu?msp2=mmcu?msp430xE427 \
	mmcu?msp1=mmcu?msp430xW423  mmcu?msp1=mmcu?msp430xW425  mmcu?msp1=mmcu?msp430xW427 \
	mmcu?msp1=mmcu?msp430xG437  mmcu?msp1=mmcu?msp430xG438  mmcu?msp1=mmcu?msp430xG439 \
	mmcu?msp1=mmcu?msp430x435   mmcu?msp1=mmcu?msp430x436   mmcu?msp1=mmcu?msp430x437 \
	mmcu?msp2=mmcu?msp430x447   mmcu?msp2=mmcu?msp430x448   mmcu?msp2=mmcu?msp430x449 \
	mmcu?msp2=mmcu?msp430xG4616 mmcu?msp2=mmcu?msp430xG4617 mmcu?msp2=mmcu?msp430xG4618 \
    mmcu?msp2=mmcu?msp430xG4619

MULTILIB_EXCEPTIONS =

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib

##STMP_FIXINC = 



@


1.23
log
@Added support for the 20x1, 20x2, 20x3, 22x4, and G461x (16 bit code only)
@
text
@d63 16
a78 16
	mmcu?msp1=mmcu?msp430x110  mmcu?msp1=mmcu?msp430x112 \
	mmcu?msp1=mmcu?msp430x1101 mmcu?msp1=mmcu?msp430x1111 mmcu?msp1=mmcu?msp430x1121 \
	mmcu?msp1=mmcu?msp430x1122 mmcu?msp1=mmcu?msp430x1132 \
	mmcu?msp1=mmcu?msp430x122  mmcu?msp1=mmcu?msp430x123 \
	mmcu?msp1=mmcu?msp430x1222 mmcu?msp1=mmcu?msp430x1232 \
	mmcu?msp1=mmcu?msp430x133  mmcu?msp1=mmcu?msp430x135 \
	mmcu?msp1=mmcu?msp430x1331 mmcu?msp1=mmcu?msp430x1351 \
	mmcu?msp2=mmcu?msp430x147  mmcu?msp2=mmcu?msp430x148  mmcu?msp2=mmcu?msp430x149 \
	mmcu?msp2=mmcu?msp430x1471 mmcu?msp2=mmcu?msp430x1481 mmcu?msp2=mmcu?msp430x1491 \
	mmcu?msp1=mmcu?msp430x155  mmcu?msp1=mmcu?msp430x156  mmcu?msp1=mmcu?msp430x157 \
	mmcu?msp2=mmcu?msp430x167  mmcu?msp2=mmcu?msp430x168  mmcu?msp2=mmcu?msp430x169 \
	mmcu?msp2=mmcu?msp430x1610 mmcu?msp2=mmcu?msp430x1611 mmcu?msp2=mmcu?msp430x1612 \
	mmcu?msp1=mmcu?msp430x2001 mmcu?msp1=mmcu?msp430x2011 \
	mmcu?msp1=mmcu?msp430x2002 mmcu?msp1=mmcu?msp430x2012 \
	mmcu?msp1=mmcu?msp430x2003 mmcu?msp1=mmcu?msp430x2013 \
	mmcu?msp1=mmcu?msp430x2101 mmcu?msp1=mmcu?msp430x2111 mmcu?msp1=mmcu?msp430x2121 \
d80 16
a95 16
	mmcu?msp1=mmcu?msp430x2234 mmcu?msp1=mmcu?msp430x2254 mmcu?msp1=mmcu?msp430x2274 \
	mmcu?msp1=mmcu?msp430x311  mmcu?msp1=mmcu?msp430x312  mmcu?msp1=mmcu?msp430x313 \
	mmcu?msp1=mmcu?msp430x314  mmcu?msp1=mmcu?msp430x315 \
	mmcu?msp1=mmcu?msp430x323  mmcu?msp1=mmcu?msp430x325 \
	mmcu?msp2=mmcu?msp430x336  mmcu?msp2=mmcu?msp430x337 \
	mmcu?msp1=mmcu?msp430x412  mmcu?msp1=mmcu?msp430x413 \
	mmcu?msp1=mmcu?msp430x415  mmcu?msp1=mmcu?msp430x417 \
	mmcu?msp2=mmcu?msp430x423  mmcu?msp2=mmcu?msp430x425  mmcu?msp2=mmcu?msp430x427 \
	mmcu?msp1=mmcu?msp430x4250 mmcu?msp1=mmcu?msp430x4260 mmcu?msp1=mmcu?msp430x4270 \
	mmcu?msp2=mmcu?msp430xE423 mmcu?msp2=mmcu?msp430xE425 mmcu?msp2=mmcu?msp430xE427 \
	mmcu?msp1=mmcu?msp430xW423 mmcu?msp1=mmcu?msp430xW425 mmcu?msp1=mmcu?msp430xW427 \
	mmcu?msp1=mmcu?msp430xG437 mmcu?msp1=mmcu?msp430xG438 mmcu?msp1=mmcu?msp430xG439 \
	mmcu?msp1=mmcu?msp430x435  mmcu?msp1=mmcu?msp430x436  mmcu?msp1=mmcu?msp430x437 \
	mmcu?msp2=mmcu?msp430x447  mmcu?msp2=mmcu?msp430x448  mmcu?msp2=mmcu?msp430x449 \
	mmcu?msp2=mmcu?msp430x4616 mmcu?msp2=mmcu?msp430x4617 mmcu?msp2=mmcu?msp430x4618 \
    mmcu?msp2=mmcu?msp430x4619
@


1.22
log
@Addition of the following new devices
2101, 2111, 2121, 2131
423, 425, 427 (missed in last year's updates)
4250, 4260, 4270
@
text
@d75 3
d80 1
d93 3
a95 1
	mmcu?msp2=mmcu?msp430x447  mmcu?msp2=mmcu?msp430x448  mmcu?msp2=mmcu?msp430x449
@


1.21
log
@Added FG43x support
@
text
@d75 2
d83 2
@


1.20
log
@Added support for the 415 and 417
@
text
@d83 1
@


1.19
log
@Added support for the MSP430F1612
@
text
@d80 1
@


1.18
log
@fix mulsi3 calls with disable-hwmul flags.
@
text
@d74 1
a74 1
	mmcu?msp2=mmcu?msp430x1610 mmcu?msp2=mmcu?msp430x1611 \
@


1.17
log
@FE427 abd FW427 corrections
@
text
@d14 1
@


1.16
log
@Added support for the 1610, 1611 and 14x1 devices
@
text
@d79 1
a79 1
	mmcu?msp1=mmcu?msp430xE423 mmcu?msp1=mmcu?msp430xE425 mmcu?msp1=mmcu?msp430xE427 \
@


1.15
log
@E42x and W42x patches for gcc3.3 directory (i.e. for GCC 3.2.x)
@
text
@d70 1
d73 1
@


1.14
log
@add backslash
@
text
@d64 1
a64 1
        mmcu?msp1=mmcu?msp430x1122 mmcu?msp1=mmcu?msp430x1132 \
d66 1
a66 1
        mmcu?msp1=mmcu?msp430x1222 mmcu?msp1=mmcu?msp430x1232 \
d73 1
a73 1
        mmcu?msp1=mmcu?msp430x314  mmcu?msp1=mmcu?msp430x315 \
d77 2
@


1.13
log
@Put the device types into sorted order, and added 1122 and 1132
@
text
@d67 1
a67 1
	mmcu?msp1=mmcu?msp430x133  mmcu?msp1=mmcu?msp430x135 
@


1.12
log
@apply Steves patches - fixes for 447 and 15x HW mult
@
text
@d62 1
a62 13
	mmcu?msp2=mmcu?msp430x149 mmcu?msp2=mmcu?msp430x148 mmcu?msp2=mmcu?msp430x147 \
	mmcu?msp2=mmcu?msp430x169 mmcu?msp2=mmcu?msp430x168 mmcu?msp2=mmcu?msp430x167 \
	mmcu?msp1=mmcu?msp430x157 mmcu?msp1=mmcu?msp430x156 mmcu?msp1=mmcu?msp430x155 \
	mmcu?msp2=mmcu?msp430x336 mmcu?msp2=mmcu?msp430x337 \
	mmcu?msp1=mmcu?msp430x135 mmcu?msp1=mmcu?msp430x315 \
	mmcu?msp1=mmcu?msp430x1x1 mmcu?msp1=mmcu?msp430x110 \
	mmcu?msp1=mmcu?msp430x123 mmcu?msp1=mmcu?msp430x112 \
	mmcu?msp1=mmcu?msp430x133 mmcu?msp1=mmcu?msp430x122 \
	mmcu?msp1=mmcu?msp430x412 mmcu?msp1=mmcu?msp430x413 \
	mmcu?msp1=mmcu?msp430x314 mmcu?msp1=mmcu?msp430x311 \
	mmcu?msp1=mmcu?msp430x313 mmcu?msp1=mmcu?msp430x312 \
	mmcu?msp1=mmcu?msp430x314 mmcu?msp1=mmcu?msp430x323 \
	mmcu?msp1=mmcu?msp430x325 mmcu?msp1=mmcu?msp430x1222 mmcu?msp1=mmcu?msp430x1232 \
d64 4
d69 10
a78 2
	mmcu?msp2=mmcu?msp430x449 mmcu?msp2=mmcu?msp430x448 mmcu?msp2=mmcu?msp430x447 \
	mmcu?msp1=mmcu?msp430x435 mmcu?msp1=mmcu?msp430x436 mmcu?msp1=mmcu?msp430x437
@


1.11
log
@rollback
@
text
@d64 1
a64 1
	mmcu?msp2=mmcu?msp430x157 mmcu?msp2=mmcu?msp430x156 mmcu?msp2=mmcu?msp430x155 \
d77 1
a77 1
	mmcu?msp2=mmcu?msp430x449 mmcu?msp2=mmcu?msp430x448 mmcu?msp1=mmcu?msp430x447 \
@


1.10
log
@some clean-ups
@
text
@d6 1
a6 1
#CROSS_LIBGCC1 = libgcc1-asm.a
d35 2
d85 1
a85 1
STMP_FIXINC = 
a86 2
# trick to avoid _gcov compilation
LIB2FUNCS_ST = __gcov_bcmp
@


1.9
log
@add 64 bit div/mul/mod routines
@
text
@d6 1
a6 1
CROSS_LIBGCC1 = libgcc1-asm.a
a34 2
	
	
d83 1
a83 1
##STMP_FIXINC = 
d85 2
@


1.8
log
@lots of changes:
- fixed bug in compare
- improved compares (canonicalized)
- removed call-shifts
- improved shifts
- fixed bug in ashftrt:QI
- revised peepholes for bittests
- improved post dec contition code setter
- revised post dec operations
- revised library
- removed redudant code

fully tested. works...
@
text
@d27 7
a33 1
	__epilogue_restorer_intr
@


1.7
log
@Lots of changes:
 - Completely rewritten condition codes. Now it is perfect :)
 - Removed reorg pass.
 - Removed a couple of peepholes.
 - Add some special patterns which allow to avoid jumps.
 - Removed tst insns.

Result:
 - Improved run time performance by ~13% (probably bigger code size -
	depends on optimization)
 - Improved compile time performance.
@
text
@a8 1
	_cmpsi2 \
d27 1
a27 56
	__epilogue_restorer_intr \
	_lshiftqi_1_6 \
	_lshiftqi_7 \
	_lshiftqi_cnt \
	_lshifthi_1_7 \
	_lshifthi_8 \
	_lshifthi_15 \
	_lshifthi_cnt \
	_lshiftsi_1_7 \
	_lshiftsi_8 \
	_lshiftsi_16 \
	_lshiftsi_31 \
	_lshiftsi_cnt \
	_lshiftdi_1_15 \
	_lshiftdi_16 \
	_lshiftdi_32 \
	_lshiftsi_48 \
	_lshiftdi_63 \
	_lshiftdi_cnt \
	_rshiftqi_1_6 \
	_rshiftqi_7 \
	_rshiftqi_cnt \
	_rshifthi_1_7 \
	_rshifthi_8 \
	_rshifthi_15 \
	_rshifthi_cnt \
	_rshiftsi_1_7 \
	_rshiftsi_8 \
	_rshiftsi_16 \
	_rshiftsi_31 \
	_rshiftsi_cnt \
	_rshiftdi_1_15 \
	_rshiftdi_16 \
	_rshiftdi_32 \
	_rshiftsi_48 \
	_rshiftdi_63 \
	_rshiftdi_cnt \
	_rlshiftqi_1_6 \
	_rlshiftqi_7 \
	_rlshiftqi_cnt \
	_rlshifthi_1_7 \
	_rlshifthi_8 \
	_rlshifthi_15 \
	_rlshifthi_cnt \
	_rlshiftsi_1_7 \
	_rlshiftsi_8 \
	_rlshiftsi_16 \
	_rlshiftsi_31 \
	_rlshiftsi_cnt \
	_rlshiftdi_1_15 \
	_rlshiftdi_16 \
	_rlshiftdi_32 \
	_rlshiftsi_48 \
	_rlshiftdi_63 \
	_rlshiftdi_cnt
	
@


1.6
log
@DO NOT DOWNLOAD! NEEDS TO BE TESTED.
but seems to be working.
@
text
@d135 1
a135 1
STMP_FIXINC = 
@


1.5
log
@- add new devices 15x and 16x
- improved conditionals.
@
text
@d134 5
@


1.4
log
@1. Significally improved cmpsf
2. Removed paranoid register eliminator - cmp insns will be revised soon.
3. Add __cmpsf2 routine
@
text
@d113 2
@


1.3
log
@add msp430x1222 msp430x1232
@
text
@d10 1
@


1.2
log
@Many things:
1. Fixed bug in return pattern (generated via call to insure 'ret' issued).
2. Added saveprologue option and command line.
3. Reversed registers save/restore order.
4. Add prologue saver and epilogue restorer functions to libgcc.S
5. GNU styled.
@
text
@d121 1
a121 1
	mmcu?msp1=mmcu?msp430x325 \
@


1.1
log
@new flash
@
text
@d25 3
@

