aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2013-09-30 08:58:53 +0000
committerNick Clifton <nickc@gcc.gnu.org>2013-09-30 08:58:53 +0000
commit4494fbc9d3210cdffcdfdaa5f9d27ce8cbb6049f (patch)
treeeaca1989504a6717bcba78364521a4616c31f042
parentea5132bc5ed20cc4ab16f2d8b23e0d16dc67dea1 (diff)
downloadgcc-4494fbc9d3210cdffcdfdaa5f9d27ce8cbb6049f.zip
gcc-4494fbc9d3210cdffcdfdaa5f9d27ce8cbb6049f.tar.gz
gcc-4494fbc9d3210cdffcdfdaa5f9d27ce8cbb6049f.tar.bz2
msp430.c (msp430x_names): New array.
* config/msp430/msp430.c (msp430x_names): New array. Lists MCUs that use the MSP430X ISA. (msp430_option_override): Scan -mmcu command line option for any MCU name that supports the MSP430X ISA. * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for known -mmcu options which enable the MSP430X ISA. From-SVN: r203026
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/msp430/msp430.c82
-rw-r--r--gcc/config/msp430/t-msp430237
3 files changed, 316 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index abd42c5..3bebb34 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2013-09-30 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/msp430.c (msp430x_names): New array. Lists MCUs
+ that use the MSP430X ISA.
+ (msp430_option_override): Scan -mmcu command line option for any
+ MCU name that supports the MSP430X ISA.
+ * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for known
+ -mmcu options which enable the MSP430X ISA.
+
2013-09-30 Richard Biener <rguenther@suse.de>
PR middle-end/58532
diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c
index ae6e6a9..a1e2f81 100644
--- a/gcc/config/msp430/msp430.c
+++ b/gcc/config/msp430/msp430.c
@@ -109,15 +109,89 @@ msp430_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED,
#undef TARGET_OPTION_OVERRIDE
#define TARGET_OPTION_OVERRIDE msp430_option_override
+static const char * msp430x_names [] =
+{
+ "msp430x", /* Generic name. */
+ "msp430xv2", /* Generic name. */
+
+ /* These names have been provided by TI and match the names currently
+ supported by GAS.
+
+ NB/ This list should be kept in sync with the ones in:
+ gcc/config/msp430/t-msp430
+ gas/config/tc-msp430.c
+
+ FIXME: We ought to read the names in from a file at run, rather
+ than having them built in like this. Also such a file should be
+ shared with gas. */
+
+ "msp430cg4616", "msp430cg4617", "msp430cg4618", "msp430cg4619", "msp430f2416",
+ "msp430f2417", "msp430f2418", "msp430f2419", "msp430f2616", "msp430f2617",
+ "msp430f2618", "msp430f2619", "msp430f47126", "msp430f47127", "msp430f47163",
+ "msp430f47173", "msp430f47183", "msp430f47193", "msp430f47166", "msp430f47176",
+ "msp430f47186", "msp430f47196", "msp430f47167", "msp430f47177", "msp430f47187",
+ "msp430f47197", "msp430f46161", "msp430f46171", "msp430f46181", "msp430f46191",
+ "msp430f4616", "msp430f4617", "msp430f4618", "msp430f4619", "msp430fg4616",
+ "msp430fg4617", "msp430fg4618", "msp430fg4619", "msp430f5418", "msp430f5419",
+ "msp430f5435", "msp430f5436", "msp430f5437", "msp430f5438", "msp430f5418a",
+ "msp430f5419a", "msp430f5435a", "msp430f5436a", "msp430f5437a", "msp430f5438a",
+ "msp430f5212", "msp430f5213", "msp430f5214", "msp430f5217", "msp430f5218",
+ "msp430f5219", "msp430f5222", "msp430f5223", "msp430f5224", "msp430f5227",
+ "msp430f5228", "msp430f5229", "msp430f5304", "msp430f5308", "msp430f5309",
+ "msp430f5310", "msp430f5340", "msp430f5341", "msp430f5342", "msp430f5324",
+ "msp430f5325", "msp430f5326", "msp430f5327", "msp430f5328", "msp430f5329",
+ "msp430f5500", "msp430f5501", "msp430f5502", "msp430f5503", "msp430f5504",
+ "msp430f5505", "msp430f5506", "msp430f5507", "msp430f5508", "msp430f5509",
+ "msp430f5510", "msp430f5513", "msp430f5514", "msp430f5515", "msp430f5517",
+ "msp430f5519", "msp430f5521", "msp430f5522", "msp430f5524", "msp430f5525",
+ "msp430f5526", "msp430f5527", "msp430f5528", "msp430f5529", "cc430f5133",
+ "cc430f5135", "cc430f5137", "cc430f6125", "cc430f6126", "cc430f6127",
+ "cc430f6135", "cc430f6137", "cc430f5123", "cc430f5125", "cc430f5143",
+ "cc430f5145", "cc430f5147", "cc430f6143", "cc430f6145", "cc430f6147",
+ "msp430f5333", "msp430f5335", "msp430f5336", "msp430f5338", "msp430f5630",
+ "msp430f5631", "msp430f5632", "msp430f5633", "msp430f5634", "msp430f5635",
+ "msp430f5636", "msp430f5637", "msp430f5638", "msp430f6433", "msp430f6435",
+ "msp430f6436", "msp430f6438", "msp430f6630", "msp430f6631", "msp430f6632",
+ "msp430f6633", "msp430f6634", "msp430f6635", "msp430f6636", "msp430f6637",
+ "msp430f6638", "msp430f5358", "msp430f5359", "msp430f5658", "msp430f5659",
+ "msp430f6458", "msp430f6459", "msp430f6658", "msp430f6659", "msp430f5131",
+ "msp430f5151", "msp430f5171", "msp430f5132", "msp430f5152", "msp430f5172",
+ "msp430f6720", "msp430f6721", "msp430f6723", "msp430f6724", "msp430f6725",
+ "msp430f6726", "msp430f6730", "msp430f6731", "msp430f6733", "msp430f6734",
+ "msp430f6735", "msp430f6736", "msp430f67451", "msp430f67651", "msp430f67751",
+ "msp430f67461", "msp430f67661", "msp430f67761", "msp430f67471", "msp430f67671",
+ "msp430f67771", "msp430f67481", "msp430f67681", "msp430f67781", "msp430f67491",
+ "msp430f67691", "msp430f67791", "msp430f6745", "msp430f6765", "msp430f6775",
+ "msp430f6746", "msp430f6766", "msp430f6776", "msp430f6747", "msp430f6767",
+ "msp430f6777", "msp430f6748", "msp430f6768", "msp430f6778", "msp430f6749",
+ "msp430f6769", "msp430f6779", "msp430fr5720", "msp430fr5721", "msp430fr5722",
+ "msp430fr5723", "msp430fr5724", "msp430fr5725", "msp430fr5726", "msp430fr5727",
+ "msp430fr5728", "msp430fr5729", "msp430fr5730", "msp430fr5731", "msp430fr5732",
+ "msp430fr5733", "msp430fr5734", "msp430fr5735", "msp430fr5736", "msp430fr5737",
+ "msp430fr5738", "msp430fr5739", "msp430bt5190", "msp430fr5949", "msp430fr5969",
+ "msp430sl5438a"
+};
+
static void
msp430_option_override (void)
{
init_machine_status = msp430_init_machine_status;
- if (target_cpu
- && (strstr (target_cpu, "430x")
- || strstr (target_cpu, "430X")))
- msp430x = true;
+ if (target_cpu)
+ {
+ unsigned i;
+
+ for (i = ARRAY_SIZE (msp430x_names); i--;)
+ if (strcasecmp (target_cpu, msp430x_names[i]))
+ {
+ msp430x = true;
+ break;
+ }
+ /* Note - it is not an error if we did not recognize the MCU
+ name. The msp430x_names array only contains those MCU names
+ which are currently known to use the MSP430X ISA. There are
+ lots of other MCUs which just use the MSP430 ISA. */
+ }
if (TARGET_LARGE && !msp430x)
error ("-mlarge requires a 430X-compatible -mmcu=");
diff --git a/gcc/config/msp430/t-msp430 b/gcc/config/msp430/t-msp430
index c704837..52f0f4c 100644
--- a/gcc/config/msp430/t-msp430
+++ b/gcc/config/msp430/t-msp430
@@ -26,14 +26,235 @@ MULTILIB_DIRNAMES = 430x large
# Match msp430X with msp430x.
MULTILIB_MATCHES = mmcu?msp430x=mmcu?msp430X
-# each supported MCU needs a line like this:
-# MULTILIB_MATCHES += mmcu?msp430x123=mmcu?msp430x
-
-# The only way I figured this out was to hack the script to SHOW me
-# what it's doing. It's non-obvious, but it matches the directory
-# structure of the multilib tree, but using the options, not the
-# directory names. A shell CASE statement is generated from these, so
-# the usual CASE wildcards are supported.
+# each supported X or Xv2 MCU needs a line like this:
+# MULTILIB_MATCHES += mmcu?msp430x=mmcu?xxxxxxxxxx
+
+# NB/ This list should be kept in sync with the ones in:
+# gcc/config/msp430/msp430.c
+# gas/config/tc-msp430.c
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430xv2
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430cg4616
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430cg4617
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430cg4618
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430cg4619
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f2416
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f2417
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f2418
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f2419
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f2616
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f2617
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f2618
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f2619
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47126
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47127
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47163
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47173
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47183
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47193
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47166
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47176
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47186
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47196
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47167
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47177
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47187
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f47197
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f46161
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f46171
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f46181
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f46191
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f4616
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f4617
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f4618
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f4619
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fg4616
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fg4617
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fg4618
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fg4619
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5418
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5419
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5435
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5436
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5437
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5438
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5418a
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5419a
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5435a
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5436a
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5437a
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5438a
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5212
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5213
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5214
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5217
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5218
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5219
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5222
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5223
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5224
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5227
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5228
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5229
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5304
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5308
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5309
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5310
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5340
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5341
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5342
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5324
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5325
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5326
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5327
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5328
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5329
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5500
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5501
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5502
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5503
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5504
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5505
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5506
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5507
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5508
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5509
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5510
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5513
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5514
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5515
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5517
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5519
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5521
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5522
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5524
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5525
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5526
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5527
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5528
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5529
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f5133
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f5135
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f5137
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f6125
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f6126
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f6127
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f6135
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f6137
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f5123
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f5125
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f5143
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f5145
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f5147
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f6143
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f6145
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?cc430f6147
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5333
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5335
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5336
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5338
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5630
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5631
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5632
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5633
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5634
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5635
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5636
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5637
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5638
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6433
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6435
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6436
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6438
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6630
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6631
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6632
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6633
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6634
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6635
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6636
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6637
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6638
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5358
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5359
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5658
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5659
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6458
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6459
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6658
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6659
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5131
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5151
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5171
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5132
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5152
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f5172
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6720
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6721
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6723
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6724
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6725
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6726
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6730
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6731
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6733
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6734
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6735
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6736
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67451
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67651
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67751
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67461
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67661
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67761
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67471
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67671
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67771
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67481
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67681
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67781
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67491
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67691
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f67791
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6745
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6765
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6775
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6746
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6766
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6776
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6747
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6767
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6777
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6748
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6768
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6778
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6749
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6769
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430f6779
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5720
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5721
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5722
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5723
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5724
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5725
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5726
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5727
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5728
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5729
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5730
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5731
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5732
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5733
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5734
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5735
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5736
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5737
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5738
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5739
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430bt5190
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5949
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430fr5969
+MULTILIB_MATCHES += mmcu?msp430x=mmcu?msp430sl5438a
+
MULTILIB_EXCEPTIONS = mlarge