CVS: gcc/gcc-4.1.1/gcc/config/msp430 msp430.c, 1.1, 1.2 msp430.h, 1.1, 1.2 msp430.md, 1.1, 1.2 t-msp430, 1.1, 1.2
Christopher Cole <[email protected]> Wed, 14 Jun 2006 22:12:13 -0700
| Newsgroups | gmane.comp.hardware.texas-instruments.msp430.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/mspgcc/gcc/gcc-4.1.1/gcc/config/msp430
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv5147/gcc/config/msp430
Modified Files:
msp430.c msp430.h msp430.md t-msp430
Log Message:
Rolled in changes made to earlier toolchains (mspgcc-3.x.x) after the
initial work on mspgcc-4.0.2 had begin in January 2006.
Index: msp430.c
===================================================================
RCS file: /cvsroot/mspgcc/gcc/gcc-4.1.1/gcc/config/msp430/msp430.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -d -r1.1 -r1.2
--- msp430.c 15 Jun 2006 02:30:02 -0000 1.1
+++ msp430.c 15 Jun 2006 05:12:10 -0000 1.2
@@ -138,7 +138,9 @@
MSP430_ISA_1 = 1,
MSP430_ISA_2 = 2,
MSP430_ISA_110 = 110,
+ MSP430_ISA_200 = 200,
MSP430_ISA_210 = 210,
+ MSP430_ISA_220 = 220,
MSP430_ISA_11 = 11,
MSP430_ISA_12 = 12,
MSP430_ISA_13 = 13,
@@ -151,7 +153,8 @@
MSP430_ISA_41 = 41,
MSP430_ISA_42 = 42,
MSP430_ISA_43 = 43,
- MSP430_ISA_44 = 44
+ MSP430_ISA_44 = 44,
+ MSP430_ISA_46 = 46
};
struct mcu_type_s
@@ -202,11 +205,24 @@
{"msp430x1611", MSP430_ISA_16, 1},
{"msp430x1612", MSP430_ISA_16, 1},
+ {"msp430x2001", MSP430_ISA_200, 0},
+ {"msp430x2011", MSP430_ISA_200, 0},
+
+ {"msp430x2002", MSP430_ISA_200, 0},
+ {"msp430x2012", MSP430_ISA_200, 0},
+
+ {"msp430x2003", MSP430_ISA_200, 0},
+ {"msp430x2013", MSP430_ISA_200, 0},
+
{"msp430x2101", MSP430_ISA_210, 0},
{"msp430x2111", MSP430_ISA_210, 0},
{"msp430x2121", MSP430_ISA_210, 0},
{"msp430x2131", MSP430_ISA_210, 0},
+ {"msp430x2234", MSP430_ISA_220, 0},
+ {"msp430x2254", MSP430_ISA_220, 0},
+ {"msp430x2274", MSP430_ISA_220, 0},
+
{"msp430x311", MSP430_ISA_31, 0},
{"msp430x312", MSP430_ISA_31, 0},
{"msp430x313", MSP430_ISA_31, 0},
@@ -253,6 +269,11 @@
{"msp430x448", MSP430_ISA_44, 1},
{"msp430x449", MSP430_ISA_44, 1},
+ {"msp430xG4616", MSP430_ISA_46, 1},
+ {"msp430xG4617", MSP430_ISA_46, 1},
+ {"msp430xG4618", MSP430_ISA_46, 1},
+ {"msp430xG4619", MSP430_ISA_46, 1},
+
{NULL, 0, 0}
};
@@ -1338,6 +1359,10 @@
print_sub_operand (file, XEXP (addr, 1), code);
+ /* shift if the indirect pointer register is the stack pointer */
+ if ((code >= 'M' && code <= 'N') && (REGNO (XEXP (addr, 0)) == 1))
+ shift = code - 'M';
+
if (shift)
fprintf (file, "+%d", shift * ml);
Index: msp430.h
===================================================================
RCS file: /cvsroot/mspgcc/gcc/gcc-4.1.1/gcc/config/msp430/msp430.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -d -r1.1 -r1.2
--- msp430.h 15 Jun 2006 02:30:02 -0000 1.1
+++ msp430.h 15 Jun 2006 05:12:10 -0000 1.2
@@ -627,24 +627,9 @@
#define CPP_SPEC "\
%{!mmcu*|mmcu=msp1:%(cpp_msp1)} \
- %{mmcu=msp2:%(cpp_msp2)} \
+ %{mmcu=msp2:%(cpp_msp2) -DMSP430_HAS_HWMUL} \
%{mmcu=msp430x*:-D__MSP430_%* } \
%{posix:-D_POSIX_SOURCE}"
- /*
- %{mmcu=msp430x110|mmcu=msp430x112|mmcu=msp430x1101|mmcu=msp430x1111|mmcu=msp430x1121|\
- mmcu=msp430x1122|mmcu=msp430x1132|mmcu=msp430x122|mmcu=msp430x123|mmcu=msp430x1222|\
- mmcu=msp430x1232|mmcu=msp430x133|mmcu=msp430x135|mmcu=msp430x1331|mmcu=msp430x1351|\
- mmcu=msp430x155|mmcu=msp430x156|mmcu=msp430x157|mmcu=msp430x311|mmcu=msp430x312|\
- mmcu=msp430x313|mmcu=msp430x314|mmcu=msp430x315|mmcu=msp430x323|mmcu=msp430x325|\
- mmcu=msp430x412|mmcu=msp430x413|mmcu=msp430x415|mmcu=msp430x417|mmcu=msp430xW423|\
- mmcu=msp430xW425|mmcu=msp430xW427|mmcu=msp430xG437|mmcu=msp430xG438|mmcu=msp430xG439|\
- mmcu=msp430x435|mmcu=msp430x436:%(cpp_msp1)} \
- %{mmcu=msp430xE423|mmcu=msp430xE425|mmcu=msp430xE427|mmcu=msp430x336|mmcu=msp430x337|\
- mmcu=msp430x167|mmcu=msp430x168|mmcu=msp430x169|mmcu=msp430x1610|mmcu=msp430x1611|\
- mmcu=msp430x1612|mmcu=msp430x147|mmcu=msp430x148|mmcu=msp430x149|mmcu=msp430x1471|\
- mmcu=msp430x1481|mmcu=msp430x1491|mmcu=msp430x437|mmcu=msp430x447|mmcu=msp430x448|\
- mmcu=msp430x449:%(cpp_msp2)} \
- */
#define CC1_SPEC "%{profile:-p}"
@@ -679,33 +664,27 @@
%{mmcu=msp430x1610:-m msp430B --defsym __stack=0x2500 -Ttext=0x8000 -Tdata=0x1100 } \
%{mmcu=msp430x1611:-m msp430B --defsym __stack=0x3900 -Ttext=0x4000 -Tdata=0x1100 } \
%{mmcu=msp430x1612:-m msp430B --defsym __stack=0x2500 -Ttext=0x2500 -Tdata=0x1100 } \
- %{mmcu=msp430x149|mmcu=msp430x169|mmcu=msp430xG439|mmcu=msp430x449:-m msp430A --defsym __stack=0x0a00 -Ttext=0x1100 }"
+ %{mmcu=msp430x149|mmcu=msp430x169|mmcu=msp430xG439|mmcu=msp430x449:-m msp430A --defsym __stack=0x0a00 -Ttext=0x1100 } \
+ %{mmcu=msp430x2001:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430x2011:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430x2002:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430x2012:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430x2003:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430x2013:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430x2101:-m msp430A --defsym __stack=0xffff -Ttext=0xfc00 -Tdata=0x0200 } \
+ %{mmcu=msp430x2111:-m msp430A --defsym __stack=0xffff -Ttext=0xf800 -Tdata=0x0200 } \
+ %{mmcu=msp430x2121:-m msp430A --defsym __stack=0xffff -Ttext=0xf000 -Tdata=0x0200 } \
+ %{mmcu=msp430x2131:-m msp430A --defsym __stack=0xffff -Ttext=0xe000 -Tdata=0x0200 } \
+ %{mmcu=msp430x2234:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430x2254:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430x2274:-m msp430A --defsym __stack=0xffff -Ttext=0xffff -Tdata=0xffff } \
+ %{mmcu=msp430xG4616:-m msp430A --defsym __stack=0x1100 -Ttext=0x2100 -Tdata=0xffff } \
+ %{mmcu=msp430xG4617:-m msp430A --defsym __stack=0x1100 -Ttext=0x3100 -Tdata=0xffff } \
+ %{mmcu=msp430xG4618:-m msp430A --defsym __stack=0x1100 -Ttext=0x3100 -Tdata=0xffff } \
+ %{mmcu=msp430xG4619:-m msp430A --defsym __stack=0x1100 -Ttext=0x2100 -Tdata=0xffff }"
/*
#define LINK_SPEC "\
- %{!mmcu*|mmcu=msp1|mmcu=msp430x1101|mmcu=msp430x110:-m msp430s1k128 } \
- %{mmcu=msp430x1111|mmcu=msp430x311:-m msp430s2k128 } \
- %{mmcu=msp430x1121|mmcu=msp430x1122|mmcu=msp430x112|mmcu=msp430x1222|mmcu=msp430x122| \
- mmcu=msp430x1232|mmcu=msp430x123|mmcu=msp430x312|mmcu=msp430x412|mmcu=msp430xE423| \
- mmcu=msp430xW423:-m msp430s4k256 } \
- %{mmcu=msp430x1132|mmcu=msp430x1331|mmcu=msp430x133|mmcu=msp430x313| \
- mmcu=msp430x323|mmcu=msp430x413:-m msp430s8k256 } \
- %{mmcu=msp430x314:-m msp430s12k512 } \
- %{mmcu=msp430x1351|mmcu=msp430x135|mmcu=msp430x155|mmcu=msp430x315|mmcu=msp430x325| \
- mmcu=msp430x415|mmcu=msp430x435|mmcu=msp430xE425|mmcu=msp430xW425:-m msp430s16k512 } \
- %{mmcu=msp2|mmcu=msp430x156|mmcu=msp430x336|mmcu=msp430x436:-m msp430s24k1024 } \
- %{mmcu=msp430x147|mmcu=msp430x157|mmcu=msp430x167|mmcu=msp430x337|mmcu=msp430x417| \
- mmcu=msp430x437|mmcu=msp430x447|mmcu=msp430xE427|mmcu=msp430xG437|mmcu=msp430xW427| \
- mmcu=msp430x1471:-m msp430s32k1024 } \
- %{mmcu=msp430x1610:-m msp430s32k5k } \
- %{mmcu=msp430x1611:-m msp430s48k10k } \
- %{mmcu=msp430x1481|mmcu=msp430x148|mmcu=msp430x1491|mmcu=msp430x168|mmcu=msp430x448| \
- mmcu=msp430xG438:-m msp430s48k2048 } \
- %{mmcu=msp430x1612:-m msp430s56k5k } \
- %{mmcu=msp430x149|mmcu=msp430x169|mmcu=msp430xG439|mmcu=msp430x449:-m msp430s60k2048 }"
-*/
-/*
-#define LINK_SPEC "\
%{!mmcu*:-m msp430s1k128} \
%{mmcu=msp1:-m msp430s1k128} \
%{mmcu=msp2:-m msp430s8k256} \
@@ -766,7 +745,25 @@
%{mmcu=msp430x437:-m msp430s32k1024 } \
%{mmcu=msp430x447:-m msp430s32k1024 } \
%{mmcu=msp430x448:-m msp430s48k2048 } \
- %{mmcu=msp430x449:-m msp430s60k2048 }"
+ %{mmcu=msp430x449:-m msp430s60k2048 } \
+ %{mmcu=msp430x2001:-m msp430s1k128 } \
+ %{mmcu=msp430x2011:-m msp430s2k128 } \
+ %{mmcu=msp430x2002:-m msp430s1k128 } \
+ %{mmcu=msp430x2012:-m msp430s2k128 } \
+ %{mmcu=msp430x2003:-m msp430s1k128 } \
+ %{mmcu=msp430x2013:-m msp430s2k128 } \
+ %{mmcu=msp430x2101:-m msp430s1k128 } \
+ %{mmcu=msp430x2111:-m msp430s2k128 } \
+ %{mmcu=msp430x2121:-m msp430s4k256 } \
+ %{mmcu=msp430x2131:-m msp430s8k256 } \
+ %{mmcu=msp430x2234:-m msp430s8k512 } \
+ %{mmcu=msp430x2254:-m msp430s16k512 } \
+ %{mmcu=msp430x2274:-m msp430s32k1024 } \
+ %{mmcu=msp430xG4616:-m msp430s92k4096 } \
+ %{mmcu=msp430xG4617:-m msp430s92k8192 } \
+ %{mmcu=msp430xG4618:-m msp430s116k8192 } \
+ %{mmcu=msp430xG4619:-m msp430s120k4096 } \
+"
*/
Index: msp430.md
===================================================================
RCS file: /cvsroot/mspgcc/gcc/gcc-4.1.1/gcc/config/msp430/msp430.md,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -d -r1.1 -r1.2
--- msp430.md 15 Jun 2006 02:30:02 -0000 1.1
+++ msp430.md 15 Jun 2006 05:12:10 -0000 1.2
@@ -35,7 +35,8 @@
;; D 3 6
;; E adds nothing to reg but used only with (mem:hi (reg:hi))
;; F no trim array
-
+;; M Add 0 to address if using stack pointer
+;; N Add 2 to address if using stack pointer
;; Extra constarains:
;; P hardware constants: -1,0,+1,+2,+4,+8
;; Q Indexed destination register as X(Rn)
@@ -467,7 +468,7 @@
(call (mem:HI (match_operand:HI 1 "general_operand" "rP,R,mi"))
(match_operand:HI 2 "general_operand" "X,X,X")))]
""
- "call\\t%1"
+ "call\\t%N1"
[ (set_attr "length" "1,1,2")
(set_attr "cc" "clobber")])
Index: t-msp430
===================================================================
RCS file: /cvsroot/mspgcc/gcc/gcc-4.1.1/gcc/config/msp430/t-msp430,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -d -r1.1 -r1.2
--- t-msp430 15 Jun 2006 02:30:02 -0000 1.1
+++ t-msp430 15 Jun 2006 05:12:10 -0000 1.2
@@ -71,8 +71,12 @@
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 \
@@ -85,7 +89,9 @@
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?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
MULTILIB_EXCEPTIONS =