? mspgcc.patch
Index: gcc/config/msp430/msp430.c
===================================================================
RCS file: /cvsroot/mspgcc/gcc/gcc-3.4/gcc/config/msp430/msp430.c,v
retrieving revision 1.24
diff -u -d -b -w -r1.24 msp430.c
--- gcc/config/msp430/msp430.c	22 Aug 2003 11:25:08 -0000	1.24
+++ gcc/config/msp430/msp430.c	11 Jan 2006 00:42:45 -0000
@@ -134,6 +134,7 @@
   MSP430_ISA_14 = 14,
   MSP430_ISA_15 = 15,
   MSP430_ISA_16 = 16,
+  MSP430_ISA_210 = 210,
   MSP430_ISA_31 = 31,
   MSP430_ISA_32 = 32,
   MSP430_ISA_33 = 33,
@@ -179,6 +180,9 @@
   {"msp430x147", MSP430_ISA_14, 1},
   {"msp430x148", MSP430_ISA_14, 1},
   {"msp430x149", MSP430_ISA_14, 1},
+  {"msp430x1471", MSP430_ISA_14, 1},
+  {"msp430x1481", MSP430_ISA_14, 1},
+  {"msp430x1491", MSP430_ISA_14, 1},
 
   {"msp430x155", MSP430_ISA_15, 0},
   {"msp430x156", MSP430_ISA_15, 0},
@@ -187,6 +191,14 @@
   {"msp430x167", MSP430_ISA_16, 1},
   {"msp430x168", MSP430_ISA_16, 1},
   {"msp430x169", MSP430_ISA_16, 1},
+  {"msp430x1610", MSP430_ISA_16, 1},
+  {"msp430x1611", MSP430_ISA_16, 1},
+  {"msp430x1612", MSP430_ISA_16, 1},
+
+  {"msp430x2101", MSP430_ISA_210, 0},
+  {"msp430x2111", MSP430_ISA_210, 0},
+  {"msp430x2121", MSP430_ISA_210, 0},
+  {"msp430x2131", MSP430_ISA_210, 0},
 
   {"msp430x311", MSP430_ISA_31, 0},
   {"msp430x312", MSP430_ISA_31, 0},
@@ -202,14 +214,28 @@
 
   {"msp430x412", MSP430_ISA_41, 0},
   {"msp430x413", MSP430_ISA_41, 0},
+  {"msp430x415", MSP430_ISA_41, 0},
+  {"msp430x417", MSP430_ISA_41, 0},
+
+  {"msp430x423", MSP430_ISA_42, 1},
+  {"msp430x425", MSP430_ISA_42, 1},
+  {"msp430x427", MSP430_ISA_42, 1},
+
+  {"msp430x4250", MSP430_ISA_42, 0},
+  {"msp430x4260", MSP430_ISA_42, 0},
+  {"msp430x4270", MSP430_ISA_42, 0},
 
   {"msp430xE423", MSP430_ISA_42, 1},
   {"msp430xE425", MSP430_ISA_42, 1},
   {"msp430xE427", MSP430_ISA_42, 1},
 
-  {"msp430xW423", MSP430_ISA_42, 1},
-  {"msp430xW425", MSP430_ISA_42, 1},
-  {"msp430xW427", MSP430_ISA_42, 1},
+  {"msp430xW423", MSP430_ISA_42, 0},
+  {"msp430xW425", MSP430_ISA_42, 0},
+  {"msp430xW427", MSP430_ISA_42, 0},
+
+  {"msp430xG437", MSP430_ISA_43, 0},
+  {"msp430xG438", MSP430_ISA_43, 0},
+  {"msp430xG439", MSP430_ISA_43, 0},
 
   {"msp430x435", MSP430_ISA_43, 0},
   {"msp430x436", MSP430_ISA_43, 0},
Index: gcc/config/msp430/msp430.h
===================================================================
RCS file: /cvsroot/mspgcc/gcc/gcc-3.4/gcc/config/msp430/msp430.h,v
retrieving revision 1.13
diff -u -d -b -w -r1.13 msp430.h
--- gcc/config/msp430/msp430.h	14 Aug 2003 13:17:16 -0000	1.13
+++ gcc/config/msp430/msp430.h	11 Jan 2006 00:42:45 -0000
@@ -748,7 +748,7 @@
 
 #define CPP_SPEC "\
 %{!mmcu*|mmcu=msp1:%(cpp_msp1)} \
-%{mmcu=msp2:%(cpp_msp2)} \
+%{mmcu=msp2:%(cpp_msp2) -DMSP430_HAS_HWMUL} \
 %{mmcu=msp430x110:%(cpp_msp1) -D__MSP430_110__} \
 %{mmcu=msp430x112:%(cpp_msp1) -D__MSP430_112__} \
 %{mmcu=msp430x1101:%(cpp_msp1) -D__MSP430_1101__} \
@@ -764,15 +764,25 @@
 %{mmcu=msp430x135:%(cpp_msp1) -D__MSP430_135__} \
 %{mmcu=msp430x1331:%(cpp_msp1) -D__MSP430_1331__} \
 %{mmcu=msp430x1351:%(cpp_msp1) -D__MSP430_1351__} \
-%{mmcu=msp430x147:%(cpp_msp2) -D__MSP430_147__} \
-%{mmcu=msp430x148:%(cpp_msp2) -D__MSP430_148__} \
-%{mmcu=msp430x149:%(cpp_msp2) -D__MSP430_149__} \
+%{mmcu=msp430x147:%(cpp_msp2) -D__MSP430_147__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x148:%(cpp_msp2) -D__MSP430_148__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x149:%(cpp_msp2) -D__MSP430_149__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x1471:%(cpp_msp2) -D__MSP430_1471__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x1481:%(cpp_msp2) -D__MSP430_1481__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x1491:%(cpp_msp2) -D__MSP430_1491__ -DMSP430_HAS_HWMUL} \
 %{mmcu=msp430x155:%(cpp_msp1) -D__MSP430_155__} \
 %{mmcu=msp430x156:%(cpp_msp1) -D__MSP430_156__} \
 %{mmcu=msp430x157:%(cpp_msp1) -D__MSP430_157__} \
-%{mmcu=msp430x167:%(cpp_msp2) -D__MSP430_167__} \
-%{mmcu=msp430x168:%(cpp_msp2) -D__MSP430_168__} \
-%{mmcu=msp430x169:%(cpp_msp2) -D__MSP430_169__} \
+%{mmcu=msp430x167:%(cpp_msp2) -D__MSP430_167__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x168:%(cpp_msp2) -D__MSP430_168__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x169:%(cpp_msp2) -D__MSP430_169__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x1610:%(cpp_msp2) -D__MSP430_1610__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x1611:%(cpp_msp2) -D__MSP430_1611__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x1612:%(cpp_msp2) -D__MSP430_1612__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x2101:%(cpp_msp1) -D__MSP430_2101__} \
+%{mmcu=msp430x2111:%(cpp_msp1) -D__MSP430_2111__} \
+%{mmcu=msp430x2121:%(cpp_msp1) -D__MSP430_2121__} \
+%{mmcu=msp430x2131:%(cpp_msp1) -D__MSP430_2131__} \
 %{mmcu=msp430x311:%(cpp_msp1) -D__MSP430_311__} \
 %{mmcu=msp430x312:%(cpp_msp1) -D__MSP430_312__} \
 %{mmcu=msp430x313:%(cpp_msp1) -D__MSP430_313__} \
@@ -780,22 +790,33 @@
 %{mmcu=msp430x315:%(cpp_msp1) -D__MSP430_315__} \
 %{mmcu=msp430x323:%(cpp_msp1) -D__MSP430_323__} \
 %{mmcu=msp430x325:%(cpp_msp1) -D__MSP430_325__} \
-%{mmcu=msp430x336:%(cpp_msp2) -D__MSP430_336__} \
-%{mmcu=msp430x337:%(cpp_msp2) -D__MSP430_337__} \
+%{mmcu=msp430x336:%(cpp_msp2) -D__MSP430_336__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x337:%(cpp_msp2) -D__MSP430_337__ -DMSP430_HAS_HWMUL} \
 %{mmcu=msp430x412:%(cpp_msp1) -D__MSP430_412__} \
 %{mmcu=msp430x413:%(cpp_msp1) -D__MSP430_413__} \
-%{mmcu=msp430xE423:%(cpp_msp2) -D__MSP430_E423__} \
-%{mmcu=msp430xE425:%(cpp_msp2) -D__MSP430_E425__} \
-%{mmcu=msp430xE427:%(cpp_msp2) -D__MSP430_E427__} \
-%{mmcu=msp430xW423:%(cpp_msp2) -D__MSP430_W423__} \
-%{mmcu=msp430xW425:%(cpp_msp2) -D__MSP430_W425__} \
-%{mmcu=msp430xW427:%(cpp_msp2) -D__MSP430_W427__} \
+%{mmcu=msp430x415:%(cpp_msp1) -D__MSP430_415__} \
+%{mmcu=msp430x417:%(cpp_msp1) -D__MSP430_417__} \
+%{mmcu=msp430x423:%(cpp_msp2) -D__MSP430_423__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x425:%(cpp_msp2) -D__MSP430_425__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x427:%(cpp_msp2) -D__MSP430_427__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x4250:%(cpp_msp1) -D__MSP430_4250__} \
+%{mmcu=msp430x4260:%(cpp_msp1) -D__MSP430_4260__} \
+%{mmcu=msp430x4270:%(cpp_msp1) -D__MSP430_4270__} \
+%{mmcu=msp430xE423:%(cpp_msp2) -D__MSP430_E423__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430xE425:%(cpp_msp2) -D__MSP430_E425__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430xE427:%(cpp_msp2) -D__MSP430_E427__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430xW423:%(cpp_msp1) -D__MSP430_W423__} \
+%{mmcu=msp430xW425:%(cpp_msp1) -D__MSP430_W425__} \
+%{mmcu=msp430xW427:%(cpp_msp1) -D__MSP430_W427__} \
+%{mmcu=msp430xG437:%(cpp_msp1) -D__MSP430_G437__} \
+%{mmcu=msp430xG438:%(cpp_msp1) -D__MSP430_G438__} \
+%{mmcu=msp430xG439:%(cpp_msp1) -D__MSP430_G439__} \
 %{mmcu=msp430x435:%(cpp_msp1) -D__MSP430_435__} \
 %{mmcu=msp430x436:%(cpp_msp1) -D__MSP430_436__} \
 %{mmcu=msp430x437:%(cpp_msp1) -D__MSP430_437__} \
-%{mmcu=msp430x447:%(cpp_msp2) -D__MSP430_447__} \
-%{mmcu=msp430x448:%(cpp_msp2) -D__MSP430_448__} \
-%{mmcu=msp430x449:%(cpp_msp2) -D__MSP430_449__} \
+%{mmcu=msp430x447:%(cpp_msp2) -D__MSP430_447__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x448:%(cpp_msp2) -D__MSP430_448__ -DMSP430_HAS_HWMUL} \
+%{mmcu=msp430x449:%(cpp_msp2) -D__MSP430_449__ -DMSP430_HAS_HWMUL} \
 %{posix:-D_POSIX_SOURCE}"
 
 #define NO_BUILTIN_SIZE_TYPE
@@ -832,12 +853,22 @@
 %{mmcu=msp430x147:-m msp430x147 } \
 %{mmcu=msp430x148:-m msp430x148 } \
 %{mmcu=msp430x149:-m msp430x149 } \
+%{mmcu=msp430x1471:-m msp430x1471 } \
+%{mmcu=msp430x1481:-m msp430x1481 } \
+%{mmcu=msp430x1491:-m msp430x1491 } \
 %{mmcu=msp430x155:-m msp430x155 } \
 %{mmcu=msp430x156:-m msp430x156 } \
 %{mmcu=msp430x157:-m msp430x157 } \
 %{mmcu=msp430x167:-m msp430x167 } \
 %{mmcu=msp430x168:-m msp430x168 } \
 %{mmcu=msp430x169:-m msp430x169 } \
+%{mmcu=msp430x1610:-m msp430x1610 } \
+%{mmcu=msp430x1611:-m msp430x1611 } \
+%{mmcu=msp430x1612:-m msp430x1612 } \
+%{mmcu=msp430x2101:-m msp430x2101 } \
+%{mmcu=msp430x2111:-m msp430x2111 } \
+%{mmcu=msp430x2121:-m msp430x2121 } \
+%{mmcu=msp430x2131:-m msp430x2131 } \
 %{mmcu=msp430x311:-m msp430x311 } \
 %{mmcu=msp430x312:-m msp430x312 } \
 %{mmcu=msp430x313:-m msp430x313 } \
@@ -849,12 +880,23 @@
 %{mmcu=msp430x337:-m msp430x337 } \
 %{mmcu=msp430x412:-m msp430x412 } \
 %{mmcu=msp430x413:-m msp430x413 } \
+%{mmcu=msp430x415:-m msp430x415 } \
+%{mmcu=msp430x417:-m msp430x417 } \
+%{mmcu=msp430x423:-m msp430x423 } \
+%{mmcu=msp430x425:-m msp430x425 } \
+%{mmcu=msp430x427:-m msp430x427 } \
+%{mmcu=msp430x4250:-m msp430x4250 } \
+%{mmcu=msp430x4260:-m msp430x4260 } \
+%{mmcu=msp430x4270:-m msp430x4270 } \
 %{mmcu=msp430xE423:-m msp430xE423 } \
 %{mmcu=msp430xE425:-m msp430xE425 } \
 %{mmcu=msp430xE427:-m msp430xE427 } \
 %{mmcu=msp430xW423:-m msp430xW423 } \
 %{mmcu=msp430xW425:-m msp430xW425 } \
 %{mmcu=msp430xW427:-m msp430xW427 } \
+%{mmcu=msp430xG437:-m msp430xG437 } \
+%{mmcu=msp430xG438:-m msp430xG438 } \
+%{mmcu=msp430xG439:-m msp430xG439 } \
 %{mmcu=msp430x435:-m msp430x435 } \
 %{mmcu=msp430x436:-m msp430x436 } \
 %{mmcu=msp430x437:-m msp430x437 } \
@@ -888,12 +930,22 @@
 %{mmcu=msp430x147:crt430x147.o%s} \
 %{mmcu=msp430x148:crt430x148.o%s} \
 %{mmcu=msp430x149:crt430x149.o%s} \
+%{mmcu=msp430x1471:crt430x1471.o%s} \
+%{mmcu=msp430x1481:crt430x1481.o%s} \
+%{mmcu=msp430x1491:crt430x1491.o%s} \
 %{mmcu=msp430x155:crt430x155.o%s} \
 %{mmcu=msp430x156:crt430x156.o%s} \
 %{mmcu=msp430x157:crt430x157.o%s} \
 %{mmcu=msp430x167:crt430x167.o%s} \
 %{mmcu=msp430x168:crt430x168.o%s} \
 %{mmcu=msp430x169:crt430x169.o%s} \
+%{mmcu=msp430x1610:crt430x1610.o%s} \
+%{mmcu=msp430x1611:crt430x1611.o%s} \
+%{mmcu=msp430x1612:crt430x1612.o%s} \
+%{mmcu=msp430x2101:crt430x2101.o%s} \
+%{mmcu=msp430x2111:crt430x2111.o%s} \
+%{mmcu=msp430x2121:crt430x2121.o%s} \
+%{mmcu=msp430x2131:crt430x2131.o%s} \
 %{mmcu=msp430x311:crt430x311.o%s} \
 %{mmcu=msp430x312:crt430x312.o%s} \
 %{mmcu=msp430x313:crt430x313.o%s} \
@@ -905,12 +957,23 @@
 %{mmcu=msp430x337:crt430x337.o%s} \
 %{mmcu=msp430x412:crt430x412.o%s} \
 %{mmcu=msp430x413:crt430x413.o%s} \
+%{mmcu=msp430x415:crt430x415.o%s} \
+%{mmcu=msp430x417:crt430x417.o%s} \
+%{mmcu=msp430x423:crt430x423.o%s} \
+%{mmcu=msp430x425:crt430x425.o%s} \
+%{mmcu=msp430x427:crt430x427.o%s} \
+%{mmcu=msp430x4250:crt430x4250.o%s} \
+%{mmcu=msp430x4260:crt430x4260.o%s} \
+%{mmcu=msp430x4270:crt430x4270.o%s} \
 %{mmcu=msp430xE423:crt430xE423.o%s} \
 %{mmcu=msp430xE425:crt430xE425.o%s} \
 %{mmcu=msp430xE427:crt430xE427.o%s} \
 %{mmcu=msp430xW423:crt430xW423.o%s} \
 %{mmcu=msp430xW425:crt430xW425.o%s} \
 %{mmcu=msp430xW427:crt430xW427.o%s} \
+%{mmcu=msp430xG437:crt430xG437.o%s} \
+%{mmcu=msp430xG438:crt430xG438.o%s} \
+%{mmcu=msp430xG439:crt430xG439.o%s} \
 %{mmcu=msp430x435:crt430x435.o%s} \
 %{mmcu=msp430x436:crt430x436.o%s} \
 %{mmcu=msp430x437:crt430x437.o%s} \
