diff --git a/gcc/ChangeLog b/gcc/ChangeLog index abd42c5a9e7..3bebb34d29d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2013-09-30 Nick Clifton + + * 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 PR middle-end/58532 diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c index ae6e6a91492..a1e2f81e648 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 c7048378da4..52f0f4c1845 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 +# 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