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
This commit is contained in:
Nick Clifton 2013-09-30 08:58:53 +00:00 committed by Nick Clifton
parent ea5132bc5e
commit 4494fbc9d3
3 changed files with 315 additions and 11 deletions

View File

@ -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

View File

@ -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=");

View File

@ -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
# each supported X or Xv2 MCU needs a line like this:
# MULTILIB_MATCHES += mmcu?msp430x=mmcu?xxxxxxxxxx
# 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.
# 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