[clang] Update msp430 generator (PR #228006)

Robin Mueller via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 1 02:17:20 PDT 2026


https://github.com/robamu updated https://github.com/llvm/llvm-project/pull/228006

>From c83180dc4f0830569c1238b4489d8ec6d53318e6 Mon Sep 17 00:00:00 2001
From: Robin Mueller <robin.mueller.m at pm.me>
Date: Thu, 1 Oct 2026 10:41:31 +0200
Subject: [PATCH 1/2] [MSP430][Clang] Add CPU type to generated MCU data

gen-msp430-def.py was updated to include the CPU type. Current CPU types
are msp430, msp430x and msp430xv2. This is useful information for
determining whether extended instructions are valid on a given target.
---
 clang/include/clang/Basic/MSP430Target.def    | 1269 ++++++++---------
 .../Basic/Target/MSP430/gen-msp430-def.py     |   57 +-
 clang/lib/Driver/ToolChains/MSP430.cpp        |    4 +-
 3 files changed, 656 insertions(+), 674 deletions(-)

diff --git a/clang/include/clang/Basic/MSP430Target.def b/clang/include/clang/Basic/MSP430Target.def
index 8fd44e3ba8e71..cea5c2b038972 100644
--- a/clang/include/clang/Basic/MSP430Target.def
+++ b/clang/include/clang/Basic/MSP430Target.def
@@ -14,649 +14,640 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef MSP430_MCU_FEAT
-#define MSP430_MCU_FEAT(NAME, HWMULT) MSP430_MCU(NAME)
-#endif
-
 #ifndef MSP430_MCU
-#define MSP430_MCU(NAME)
+#define MSP430_MCU(NAME, CPU, HWMULT)
 #endif
 
-MSP430_MCU("msp430c111")
-MSP430_MCU("msp430c1111")
-MSP430_MCU("msp430c112")
-MSP430_MCU("msp430c1121")
-MSP430_MCU("msp430c1331")
-MSP430_MCU("msp430c1351")
-MSP430_MCU("msp430c311s")
-MSP430_MCU("msp430c312")
-MSP430_MCU("msp430c313")
-MSP430_MCU("msp430c314")
-MSP430_MCU("msp430c315")
-MSP430_MCU("msp430c323")
-MSP430_MCU("msp430c325")
-MSP430_MCU("msp430c412")
-MSP430_MCU("msp430c413")
-MSP430_MCU("msp430e112")
-MSP430_MCU("msp430e313")
-MSP430_MCU("msp430e315")
-MSP430_MCU("msp430e325")
-MSP430_MCU("msp430f110")
-MSP430_MCU("msp430f1101")
-MSP430_MCU("msp430f1101a")
-MSP430_MCU("msp430f1111")
-MSP430_MCU("msp430f1111a")
-MSP430_MCU("msp430f112")
-MSP430_MCU("msp430f1121")
-MSP430_MCU("msp430f1121a")
-MSP430_MCU("msp430f1122")
-MSP430_MCU("msp430f1132")
-MSP430_MCU("msp430f122")
-MSP430_MCU("msp430f1222")
-MSP430_MCU("msp430f123")
-MSP430_MCU("msp430f1232")
-MSP430_MCU("msp430f133")
-MSP430_MCU("msp430f135")
-MSP430_MCU("msp430f155")
-MSP430_MCU("msp430f156")
-MSP430_MCU("msp430f157")
-MSP430_MCU("msp430f2001")
-MSP430_MCU("msp430f2011")
-MSP430_MCU("msp430f2002")
-MSP430_MCU("msp430f2012")
-MSP430_MCU("msp430f2003")
-MSP430_MCU("msp430f2013")
-MSP430_MCU("msp430f2101")
-MSP430_MCU("msp430f2111")
-MSP430_MCU("msp430f2121")
-MSP430_MCU("msp430f2131")
-MSP430_MCU("msp430f2112")
-MSP430_MCU("msp430f2122")
-MSP430_MCU("msp430f2132")
-MSP430_MCU("msp430f2232")
-MSP430_MCU("msp430f2252")
-MSP430_MCU("msp430f2272")
-MSP430_MCU("msp430f2234")
-MSP430_MCU("msp430f2254")
-MSP430_MCU("msp430f2274")
-MSP430_MCU("msp430f412")
-MSP430_MCU("msp430f413")
-MSP430_MCU("msp430f415")
-MSP430_MCU("msp430f417")
-MSP430_MCU("msp430f4132")
-MSP430_MCU("msp430f4152")
-MSP430_MCU("msp430f435")
-MSP430_MCU("msp430f436")
-MSP430_MCU("msp430f437")
-MSP430_MCU("msp430f4351")
-MSP430_MCU("msp430f4361")
-MSP430_MCU("msp430f4371")
-MSP430_MCU("msp430fe423")
-MSP430_MCU("msp430fe425")
-MSP430_MCU("msp430fe427")
-MSP430_MCU("msp430fe423a")
-MSP430_MCU("msp430fe425a")
-MSP430_MCU("msp430fe427a")
-MSP430_MCU("msp430fe4232")
-MSP430_MCU("msp430fe4242")
-MSP430_MCU("msp430fe4252")
-MSP430_MCU("msp430fe4272")
-MSP430_MCU("msp430f4250")
-MSP430_MCU("msp430f4260")
-MSP430_MCU("msp430f4270")
-MSP430_MCU("msp430fg4250")
-MSP430_MCU("msp430fg4260")
-MSP430_MCU("msp430fg4270")
-MSP430_MCU("msp430fw423")
-MSP430_MCU("msp430fw425")
-MSP430_MCU("msp430fw427")
-MSP430_MCU("msp430fw428")
-MSP430_MCU("msp430fw429")
-MSP430_MCU("msp430fg437")
-MSP430_MCU("msp430fg438")
-MSP430_MCU("msp430fg439")
-MSP430_MCU("msp430f438")
-MSP430_MCU("msp430f439")
-MSP430_MCU("msp430f477")
-MSP430_MCU("msp430f478")
-MSP430_MCU("msp430f479")
-MSP430_MCU("msp430fg477")
-MSP430_MCU("msp430fg478")
-MSP430_MCU("msp430fg479")
-MSP430_MCU("msp430p112")
-MSP430_MCU("msp430p313")
-MSP430_MCU("msp430p315")
-MSP430_MCU("msp430p315s")
-MSP430_MCU("msp430p325")
-MSP430_MCU("msp430l092")
-MSP430_MCU("msp430c091")
-MSP430_MCU("msp430c092")
-MSP430_MCU("msp430g2211")
-MSP430_MCU("msp430g2201")
-MSP430_MCU("msp430g2111")
-MSP430_MCU("msp430g2101")
-MSP430_MCU("msp430g2001")
-MSP430_MCU("msp430g2231")
-MSP430_MCU("msp430g2221")
-MSP430_MCU("msp430g2131")
-MSP430_MCU("msp430g2121")
-MSP430_MCU("msp430g2102")
-MSP430_MCU("msp430g2202")
-MSP430_MCU("msp430g2302")
-MSP430_MCU("msp430g2402")
-MSP430_MCU("msp430g2132")
-MSP430_MCU("msp430g2232")
-MSP430_MCU("msp430g2332")
-MSP430_MCU("msp430g2432")
-MSP430_MCU("msp430g2112")
-MSP430_MCU("msp430g2212")
-MSP430_MCU("msp430g2312")
-MSP430_MCU("msp430g2412")
-MSP430_MCU("msp430g2152")
-MSP430_MCU("msp430g2252")
-MSP430_MCU("msp430g2352")
-MSP430_MCU("msp430g2452")
-MSP430_MCU("msp430g2113")
-MSP430_MCU("msp430g2213")
-MSP430_MCU("msp430g2313")
-MSP430_MCU("msp430g2413")
-MSP430_MCU("msp430g2513")
-MSP430_MCU("msp430g2153")
-MSP430_MCU("msp430g2253")
-MSP430_MCU("msp430g2353")
-MSP430_MCU("msp430g2453")
-MSP430_MCU("msp430g2553")
-MSP430_MCU("msp430g2203")
-MSP430_MCU("msp430g2303")
-MSP430_MCU("msp430g2403")
-MSP430_MCU("msp430g2233")
-MSP430_MCU("msp430g2333")
-MSP430_MCU("msp430g2433")
-MSP430_MCU("msp430g2533")
-MSP430_MCU("msp430tch5e")
-MSP430_MCU("msp430g2444")
-MSP430_MCU("msp430g2544")
-MSP430_MCU("msp430g2744")
-MSP430_MCU("msp430g2755")
-MSP430_MCU("msp430g2855")
-MSP430_MCU("msp430g2955")
-MSP430_MCU("msp430g2230")
-MSP430_MCU("msp430g2210")
-MSP430_MCU("rf430frl152h")
-MSP430_MCU("rf430frl153h")
-MSP430_MCU("rf430frl154h")
-MSP430_MCU("rf430frl152h_rom")
-MSP430_MCU("rf430frl153h_rom")
-MSP430_MCU("rf430frl154h_rom")
-MSP430_MCU("msp430fr4131")
-MSP430_MCU("msp430fr4132")
-MSP430_MCU("msp430fr4133")
-MSP430_MCU("msp430fr2032")
-MSP430_MCU("msp430fr2033")
-MSP430_MCU("msp430fr2110")
-MSP430_MCU("msp430fr2111")
-MSP430_MCU("msp430fr2310")
-MSP430_MCU("msp430fr2311")
-MSP430_MCU("msp430fr2100")
-MSP430_MCU("msp430fr2000")
-
-// With 16-bit hardware multiplier
-MSP430_MCU_FEAT("msp430c336", "16bit")
-MSP430_MCU_FEAT("msp430c337", "16bit")
-MSP430_MCU_FEAT("msp430cg4616", "16bit")
-MSP430_MCU_FEAT("msp430cg4617", "16bit")
-MSP430_MCU_FEAT("msp430cg4618", "16bit")
-MSP430_MCU_FEAT("msp430cg4619", "16bit")
-MSP430_MCU_FEAT("msp430e337", "16bit")
-MSP430_MCU_FEAT("msp430f147", "16bit")
-MSP430_MCU_FEAT("msp430f148", "16bit")
-MSP430_MCU_FEAT("msp430f149", "16bit")
-MSP430_MCU_FEAT("msp430f1471", "16bit")
-MSP430_MCU_FEAT("msp430f1481", "16bit")
-MSP430_MCU_FEAT("msp430f1491", "16bit")
-MSP430_MCU_FEAT("msp430f167", "16bit")
-MSP430_MCU_FEAT("msp430f168", "16bit")
-MSP430_MCU_FEAT("msp430f169", "16bit")
-MSP430_MCU_FEAT("msp430f1610", "16bit")
-MSP430_MCU_FEAT("msp430f1611", "16bit")
-MSP430_MCU_FEAT("msp430f1612", "16bit")
-MSP430_MCU_FEAT("msp430f2330", "16bit")
-MSP430_MCU_FEAT("msp430f2350", "16bit")
-MSP430_MCU_FEAT("msp430f2370", "16bit")
-MSP430_MCU_FEAT("msp430f233", "16bit")
-MSP430_MCU_FEAT("msp430f235", "16bit")
-MSP430_MCU_FEAT("msp430f247", "16bit")
-MSP430_MCU_FEAT("msp430f248", "16bit")
-MSP430_MCU_FEAT("msp430f249", "16bit")
-MSP430_MCU_FEAT("msp430f2410", "16bit")
-MSP430_MCU_FEAT("msp430f2471", "16bit")
-MSP430_MCU_FEAT("msp430f2481", "16bit")
-MSP430_MCU_FEAT("msp430f2491", "16bit")
-MSP430_MCU_FEAT("msp430f2416", "16bit")
-MSP430_MCU_FEAT("msp430f2417", "16bit")
-MSP430_MCU_FEAT("msp430f2418", "16bit")
-MSP430_MCU_FEAT("msp430f2419", "16bit")
-MSP430_MCU_FEAT("msp430f2616", "16bit")
-MSP430_MCU_FEAT("msp430f2617", "16bit")
-MSP430_MCU_FEAT("msp430f2618", "16bit")
-MSP430_MCU_FEAT("msp430f2619", "16bit")
-MSP430_MCU_FEAT("msp430f423", "16bit")
-MSP430_MCU_FEAT("msp430f425", "16bit")
-MSP430_MCU_FEAT("msp430f427", "16bit")
-MSP430_MCU_FEAT("msp430f423a", "16bit")
-MSP430_MCU_FEAT("msp430f425a", "16bit")
-MSP430_MCU_FEAT("msp430f427a", "16bit")
-MSP430_MCU_FEAT("msp430f4481", "16bit")
-MSP430_MCU_FEAT("msp430f4491", "16bit")
-MSP430_MCU_FEAT("msp430f447", "16bit")
-MSP430_MCU_FEAT("msp430f448", "16bit")
-MSP430_MCU_FEAT("msp430f449", "16bit")
-MSP430_MCU_FEAT("msp430f46161", "16bit")
-MSP430_MCU_FEAT("msp430f46171", "16bit")
-MSP430_MCU_FEAT("msp430f46181", "16bit")
-MSP430_MCU_FEAT("msp430f46191", "16bit")
-MSP430_MCU_FEAT("msp430f4616", "16bit")
-MSP430_MCU_FEAT("msp430f4617", "16bit")
-MSP430_MCU_FEAT("msp430f4618", "16bit")
-MSP430_MCU_FEAT("msp430f4619", "16bit")
-MSP430_MCU_FEAT("msp430fg4616", "16bit")
-MSP430_MCU_FEAT("msp430fg4617", "16bit")
-MSP430_MCU_FEAT("msp430fg4618", "16bit")
-MSP430_MCU_FEAT("msp430fg4619", "16bit")
-MSP430_MCU_FEAT("msp430p337", "16bit")
-MSP430_MCU_FEAT("msp430afe221", "16bit")
-MSP430_MCU_FEAT("msp430afe231", "16bit")
-MSP430_MCU_FEAT("msp430afe251", "16bit")
-MSP430_MCU_FEAT("msp430afe222", "16bit")
-MSP430_MCU_FEAT("msp430afe232", "16bit")
-MSP430_MCU_FEAT("msp430afe252", "16bit")
-MSP430_MCU_FEAT("msp430afe223", "16bit")
-MSP430_MCU_FEAT("msp430afe233", "16bit")
-MSP430_MCU_FEAT("msp430afe253", "16bit")
-MSP430_MCU_FEAT("msp430i2020", "16bit")
-MSP430_MCU_FEAT("msp430i2021", "16bit")
-MSP430_MCU_FEAT("msp430i2030", "16bit")
-MSP430_MCU_FEAT("msp430i2031", "16bit")
-MSP430_MCU_FEAT("msp430i2040", "16bit")
-MSP430_MCU_FEAT("msp430i2041", "16bit")
-
-// With 32-bit hardware multiplier
-MSP430_MCU_FEAT("msp430f4783", "32bit")
-MSP430_MCU_FEAT("msp430f4793", "32bit")
-MSP430_MCU_FEAT("msp430f4784", "32bit")
-MSP430_MCU_FEAT("msp430f4794", "32bit")
-MSP430_MCU_FEAT("msp430f47126", "32bit")
-MSP430_MCU_FEAT("msp430f47127", "32bit")
-MSP430_MCU_FEAT("msp430f47163", "32bit")
-MSP430_MCU_FEAT("msp430f47173", "32bit")
-MSP430_MCU_FEAT("msp430f47183", "32bit")
-MSP430_MCU_FEAT("msp430f47193", "32bit")
-MSP430_MCU_FEAT("msp430f47166", "32bit")
-MSP430_MCU_FEAT("msp430f47176", "32bit")
-MSP430_MCU_FEAT("msp430f47186", "32bit")
-MSP430_MCU_FEAT("msp430f47196", "32bit")
-MSP430_MCU_FEAT("msp430f47167", "32bit")
-MSP430_MCU_FEAT("msp430f47177", "32bit")
-MSP430_MCU_FEAT("msp430f47187", "32bit")
-MSP430_MCU_FEAT("msp430f47197", "32bit")
-MSP430_MCU_FEAT("msp430f5418", "32bit")
-MSP430_MCU_FEAT("msp430f5419", "32bit")
-MSP430_MCU_FEAT("msp430f5435", "32bit")
-MSP430_MCU_FEAT("msp430f5436", "32bit")
-MSP430_MCU_FEAT("msp430f5437", "32bit")
-MSP430_MCU_FEAT("msp430f5438", "32bit")
-MSP430_MCU_FEAT("msp430f5418a", "32bit")
-MSP430_MCU_FEAT("msp430f5419a", "32bit")
-MSP430_MCU_FEAT("msp430f5435a", "32bit")
-MSP430_MCU_FEAT("msp430f5436a", "32bit")
-MSP430_MCU_FEAT("msp430f5437a", "32bit")
-MSP430_MCU_FEAT("msp430f5438a", "32bit")
-MSP430_MCU_FEAT("msp430f5212", "32bit")
-MSP430_MCU_FEAT("msp430f5213", "32bit")
-MSP430_MCU_FEAT("msp430f5214", "32bit")
-MSP430_MCU_FEAT("msp430f5217", "32bit")
-MSP430_MCU_FEAT("msp430f5218", "32bit")
-MSP430_MCU_FEAT("msp430f5219", "32bit")
-MSP430_MCU_FEAT("msp430f5222", "32bit")
-MSP430_MCU_FEAT("msp430f5223", "32bit")
-MSP430_MCU_FEAT("msp430f5224", "32bit")
-MSP430_MCU_FEAT("msp430f5227", "32bit")
-MSP430_MCU_FEAT("msp430f5228", "32bit")
-MSP430_MCU_FEAT("msp430f5229", "32bit")
-MSP430_MCU_FEAT("msp430f5232", "32bit")
-MSP430_MCU_FEAT("msp430f5234", "32bit")
-MSP430_MCU_FEAT("msp430f5237", "32bit")
-MSP430_MCU_FEAT("msp430f5239", "32bit")
-MSP430_MCU_FEAT("msp430f5242", "32bit")
-MSP430_MCU_FEAT("msp430f5244", "32bit")
-MSP430_MCU_FEAT("msp430f5247", "32bit")
-MSP430_MCU_FEAT("msp430f5249", "32bit")
-MSP430_MCU_FEAT("msp430f5304", "32bit")
-MSP430_MCU_FEAT("msp430f5308", "32bit")
-MSP430_MCU_FEAT("msp430f5309", "32bit")
-MSP430_MCU_FEAT("msp430f5310", "32bit")
-MSP430_MCU_FEAT("msp430f5340", "32bit")
-MSP430_MCU_FEAT("msp430f5341", "32bit")
-MSP430_MCU_FEAT("msp430f5342", "32bit")
-MSP430_MCU_FEAT("msp430f5324", "32bit")
-MSP430_MCU_FEAT("msp430f5325", "32bit")
-MSP430_MCU_FEAT("msp430f5326", "32bit")
-MSP430_MCU_FEAT("msp430f5327", "32bit")
-MSP430_MCU_FEAT("msp430f5328", "32bit")
-MSP430_MCU_FEAT("msp430f5329", "32bit")
-MSP430_MCU_FEAT("msp430f5500", "32bit")
-MSP430_MCU_FEAT("msp430f5501", "32bit")
-MSP430_MCU_FEAT("msp430f5502", "32bit")
-MSP430_MCU_FEAT("msp430f5503", "32bit")
-MSP430_MCU_FEAT("msp430f5504", "32bit")
-MSP430_MCU_FEAT("msp430f5505", "32bit")
-MSP430_MCU_FEAT("msp430f5506", "32bit")
-MSP430_MCU_FEAT("msp430f5507", "32bit")
-MSP430_MCU_FEAT("msp430f5508", "32bit")
-MSP430_MCU_FEAT("msp430f5509", "32bit")
-MSP430_MCU_FEAT("msp430f5510", "32bit")
-MSP430_MCU_FEAT("msp430f5513", "32bit")
-MSP430_MCU_FEAT("msp430f5514", "32bit")
-MSP430_MCU_FEAT("msp430f5515", "32bit")
-MSP430_MCU_FEAT("msp430f5517", "32bit")
-MSP430_MCU_FEAT("msp430f5519", "32bit")
-MSP430_MCU_FEAT("msp430f5521", "32bit")
-MSP430_MCU_FEAT("msp430f5522", "32bit")
-MSP430_MCU_FEAT("msp430f5524", "32bit")
-MSP430_MCU_FEAT("msp430f5525", "32bit")
-MSP430_MCU_FEAT("msp430f5526", "32bit")
-MSP430_MCU_FEAT("msp430f5527", "32bit")
-MSP430_MCU_FEAT("msp430f5528", "32bit")
-MSP430_MCU_FEAT("msp430f5529", "32bit")
-MSP430_MCU_FEAT("cc430f5133", "32bit")
-MSP430_MCU_FEAT("cc430f5135", "32bit")
-MSP430_MCU_FEAT("cc430f5137", "32bit")
-MSP430_MCU_FEAT("cc430f6125", "32bit")
-MSP430_MCU_FEAT("cc430f6126", "32bit")
-MSP430_MCU_FEAT("cc430f6127", "32bit")
-MSP430_MCU_FEAT("cc430f6135", "32bit")
-MSP430_MCU_FEAT("cc430f6137", "32bit")
-MSP430_MCU_FEAT("cc430f5123", "32bit")
-MSP430_MCU_FEAT("cc430f5125", "32bit")
-MSP430_MCU_FEAT("cc430f5143", "32bit")
-MSP430_MCU_FEAT("cc430f5145", "32bit")
-MSP430_MCU_FEAT("cc430f5147", "32bit")
-MSP430_MCU_FEAT("cc430f6143", "32bit")
-MSP430_MCU_FEAT("cc430f6145", "32bit")
-MSP430_MCU_FEAT("cc430f6147", "32bit")
-MSP430_MCU_FEAT("msp430f5333", "32bit")
-MSP430_MCU_FEAT("msp430f5335", "32bit")
-MSP430_MCU_FEAT("msp430f5336", "32bit")
-MSP430_MCU_FEAT("msp430f5338", "32bit")
-MSP430_MCU_FEAT("msp430f5630", "32bit")
-MSP430_MCU_FEAT("msp430f5631", "32bit")
-MSP430_MCU_FEAT("msp430f5632", "32bit")
-MSP430_MCU_FEAT("msp430f5633", "32bit")
-MSP430_MCU_FEAT("msp430f5634", "32bit")
-MSP430_MCU_FEAT("msp430f5635", "32bit")
-MSP430_MCU_FEAT("msp430f5636", "32bit")
-MSP430_MCU_FEAT("msp430f5637", "32bit")
-MSP430_MCU_FEAT("msp430f5638", "32bit")
-MSP430_MCU_FEAT("msp430f6433", "32bit")
-MSP430_MCU_FEAT("msp430f6435", "32bit")
-MSP430_MCU_FEAT("msp430f6436", "32bit")
-MSP430_MCU_FEAT("msp430f6438", "32bit")
-MSP430_MCU_FEAT("msp430f6630", "32bit")
-MSP430_MCU_FEAT("msp430f6631", "32bit")
-MSP430_MCU_FEAT("msp430f6632", "32bit")
-MSP430_MCU_FEAT("msp430f6633", "32bit")
-MSP430_MCU_FEAT("msp430f6634", "32bit")
-MSP430_MCU_FEAT("msp430f6635", "32bit")
-MSP430_MCU_FEAT("msp430f6636", "32bit")
-MSP430_MCU_FEAT("msp430f6637", "32bit")
-MSP430_MCU_FEAT("msp430f6638", "32bit")
-MSP430_MCU_FEAT("msp430f5358", "32bit")
-MSP430_MCU_FEAT("msp430f5359", "32bit")
-MSP430_MCU_FEAT("msp430f5658", "32bit")
-MSP430_MCU_FEAT("msp430f5659", "32bit")
-MSP430_MCU_FEAT("msp430f6458", "32bit")
-MSP430_MCU_FEAT("msp430f6459", "32bit")
-MSP430_MCU_FEAT("msp430f6658", "32bit")
-MSP430_MCU_FEAT("msp430f6659", "32bit")
-MSP430_MCU_FEAT("msp430fg6425", "32bit")
-MSP430_MCU_FEAT("msp430fg6426", "32bit")
-MSP430_MCU_FEAT("msp430fg6625", "32bit")
-MSP430_MCU_FEAT("msp430fg6626", "32bit")
-MSP430_MCU_FEAT("msp430f5131", "32bit")
-MSP430_MCU_FEAT("msp430f5151", "32bit")
-MSP430_MCU_FEAT("msp430f5171", "32bit")
-MSP430_MCU_FEAT("msp430f5132", "32bit")
-MSP430_MCU_FEAT("msp430f5152", "32bit")
-MSP430_MCU_FEAT("msp430f5172", "32bit")
-MSP430_MCU_FEAT("msp430f6720", "32bit")
-MSP430_MCU_FEAT("msp430f6721", "32bit")
-MSP430_MCU_FEAT("msp430f6723", "32bit")
-MSP430_MCU_FEAT("msp430f6724", "32bit")
-MSP430_MCU_FEAT("msp430f6725", "32bit")
-MSP430_MCU_FEAT("msp430f6726", "32bit")
-MSP430_MCU_FEAT("msp430f6730", "32bit")
-MSP430_MCU_FEAT("msp430f6731", "32bit")
-MSP430_MCU_FEAT("msp430f6733", "32bit")
-MSP430_MCU_FEAT("msp430f6734", "32bit")
-MSP430_MCU_FEAT("msp430f6735", "32bit")
-MSP430_MCU_FEAT("msp430f6736", "32bit")
-MSP430_MCU_FEAT("msp430f67621", "32bit")
-MSP430_MCU_FEAT("msp430f67641", "32bit")
-MSP430_MCU_FEAT("msp430f6720a", "32bit")
-MSP430_MCU_FEAT("msp430f6721a", "32bit")
-MSP430_MCU_FEAT("msp430f6723a", "32bit")
-MSP430_MCU_FEAT("msp430f6724a", "32bit")
-MSP430_MCU_FEAT("msp430f6725a", "32bit")
-MSP430_MCU_FEAT("msp430f6726a", "32bit")
-MSP430_MCU_FEAT("msp430f6730a", "32bit")
-MSP430_MCU_FEAT("msp430f6731a", "32bit")
-MSP430_MCU_FEAT("msp430f6733a", "32bit")
-MSP430_MCU_FEAT("msp430f6734a", "32bit")
-MSP430_MCU_FEAT("msp430f6735a", "32bit")
-MSP430_MCU_FEAT("msp430f6736a", "32bit")
-MSP430_MCU_FEAT("msp430f67621a", "32bit")
-MSP430_MCU_FEAT("msp430f67641a", "32bit")
-MSP430_MCU_FEAT("msp430f67451", "32bit")
-MSP430_MCU_FEAT("msp430f67651", "32bit")
-MSP430_MCU_FEAT("msp430f67751", "32bit")
-MSP430_MCU_FEAT("msp430f67461", "32bit")
-MSP430_MCU_FEAT("msp430f67661", "32bit")
-MSP430_MCU_FEAT("msp430f67761", "32bit")
-MSP430_MCU_FEAT("msp430f67471", "32bit")
-MSP430_MCU_FEAT("msp430f67671", "32bit")
-MSP430_MCU_FEAT("msp430f67771", "32bit")
-MSP430_MCU_FEAT("msp430f67481", "32bit")
-MSP430_MCU_FEAT("msp430f67681", "32bit")
-MSP430_MCU_FEAT("msp430f67781", "32bit")
-MSP430_MCU_FEAT("msp430f67491", "32bit")
-MSP430_MCU_FEAT("msp430f67691", "32bit")
-MSP430_MCU_FEAT("msp430f67791", "32bit")
-MSP430_MCU_FEAT("msp430f6745", "32bit")
-MSP430_MCU_FEAT("msp430f6765", "32bit")
-MSP430_MCU_FEAT("msp430f6775", "32bit")
-MSP430_MCU_FEAT("msp430f6746", "32bit")
-MSP430_MCU_FEAT("msp430f6766", "32bit")
-MSP430_MCU_FEAT("msp430f6776", "32bit")
-MSP430_MCU_FEAT("msp430f6747", "32bit")
-MSP430_MCU_FEAT("msp430f6767", "32bit")
-MSP430_MCU_FEAT("msp430f6777", "32bit")
-MSP430_MCU_FEAT("msp430f6748", "32bit")
-MSP430_MCU_FEAT("msp430f6768", "32bit")
-MSP430_MCU_FEAT("msp430f6778", "32bit")
-MSP430_MCU_FEAT("msp430f6749", "32bit")
-MSP430_MCU_FEAT("msp430f6769", "32bit")
-MSP430_MCU_FEAT("msp430f6779", "32bit")
-MSP430_MCU_FEAT("msp430f67451a", "32bit")
-MSP430_MCU_FEAT("msp430f67651a", "32bit")
-MSP430_MCU_FEAT("msp430f67751a", "32bit")
-MSP430_MCU_FEAT("msp430f67461a", "32bit")
-MSP430_MCU_FEAT("msp430f67661a", "32bit")
-MSP430_MCU_FEAT("msp430f67761a", "32bit")
-MSP430_MCU_FEAT("msp430f67471a", "32bit")
-MSP430_MCU_FEAT("msp430f67671a", "32bit")
-MSP430_MCU_FEAT("msp430f67771a", "32bit")
-MSP430_MCU_FEAT("msp430f67481a", "32bit")
-MSP430_MCU_FEAT("msp430f67681a", "32bit")
-MSP430_MCU_FEAT("msp430f67781a", "32bit")
-MSP430_MCU_FEAT("msp430f67491a", "32bit")
-MSP430_MCU_FEAT("msp430f67691a", "32bit")
-MSP430_MCU_FEAT("msp430f67791a", "32bit")
-MSP430_MCU_FEAT("msp430f6745a", "32bit")
-MSP430_MCU_FEAT("msp430f6765a", "32bit")
-MSP430_MCU_FEAT("msp430f6775a", "32bit")
-MSP430_MCU_FEAT("msp430f6746a", "32bit")
-MSP430_MCU_FEAT("msp430f6766a", "32bit")
-MSP430_MCU_FEAT("msp430f6776a", "32bit")
-MSP430_MCU_FEAT("msp430f6747a", "32bit")
-MSP430_MCU_FEAT("msp430f6767a", "32bit")
-MSP430_MCU_FEAT("msp430f6777a", "32bit")
-MSP430_MCU_FEAT("msp430f6748a", "32bit")
-MSP430_MCU_FEAT("msp430f6768a", "32bit")
-MSP430_MCU_FEAT("msp430f6778a", "32bit")
-MSP430_MCU_FEAT("msp430f6749a", "32bit")
-MSP430_MCU_FEAT("msp430f6769a", "32bit")
-MSP430_MCU_FEAT("msp430f6779a", "32bit")
-MSP430_MCU_FEAT("msp430fr5720", "32bit")
-MSP430_MCU_FEAT("msp430fr5721", "32bit")
-MSP430_MCU_FEAT("msp430fr5722", "32bit")
-MSP430_MCU_FEAT("msp430fr5723", "32bit")
-MSP430_MCU_FEAT("msp430fr5724", "32bit")
-MSP430_MCU_FEAT("msp430fr5725", "32bit")
-MSP430_MCU_FEAT("msp430fr5726", "32bit")
-MSP430_MCU_FEAT("msp430fr5727", "32bit")
-MSP430_MCU_FEAT("msp430fr5728", "32bit")
-MSP430_MCU_FEAT("msp430fr5729", "32bit")
-MSP430_MCU_FEAT("msp430fr5730", "32bit")
-MSP430_MCU_FEAT("msp430fr5731", "32bit")
-MSP430_MCU_FEAT("msp430fr5732", "32bit")
-MSP430_MCU_FEAT("msp430fr5733", "32bit")
-MSP430_MCU_FEAT("msp430fr5734", "32bit")
-MSP430_MCU_FEAT("msp430fr5735", "32bit")
-MSP430_MCU_FEAT("msp430fr5736", "32bit")
-MSP430_MCU_FEAT("msp430fr5737", "32bit")
-MSP430_MCU_FEAT("msp430fr5738", "32bit")
-MSP430_MCU_FEAT("msp430fr5739", "32bit")
-MSP430_MCU_FEAT("msp430bt5190", "32bit")
-MSP430_MCU_FEAT("msp430fr5857", "32bit")
-MSP430_MCU_FEAT("msp430fr5858", "32bit")
-MSP430_MCU_FEAT("msp430fr5859", "32bit")
-MSP430_MCU_FEAT("msp430fr5847", "32bit")
-MSP430_MCU_FEAT("msp430fr58471", "32bit")
-MSP430_MCU_FEAT("msp430fr5848", "32bit")
-MSP430_MCU_FEAT("msp430fr5849", "32bit")
-MSP430_MCU_FEAT("msp430fr5867", "32bit")
-MSP430_MCU_FEAT("msp430fr58671", "32bit")
-MSP430_MCU_FEAT("msp430fr5868", "32bit")
-MSP430_MCU_FEAT("msp430fr5869", "32bit")
-MSP430_MCU_FEAT("msp430fr5957", "32bit")
-MSP430_MCU_FEAT("msp430fr5958", "32bit")
-MSP430_MCU_FEAT("msp430fr5959", "32bit")
-MSP430_MCU_FEAT("msp430fr5947", "32bit")
-MSP430_MCU_FEAT("msp430fr59471", "32bit")
-MSP430_MCU_FEAT("msp430fr5948", "32bit")
-MSP430_MCU_FEAT("msp430fr5949", "32bit")
-MSP430_MCU_FEAT("msp430fr5967", "32bit")
-MSP430_MCU_FEAT("msp430fr5968", "32bit")
-MSP430_MCU_FEAT("msp430fr5969", "32bit")
-MSP430_MCU_FEAT("msp430fr59691", "32bit")
-MSP430_MCU_FEAT("rf430f5175", "32bit")
-MSP430_MCU_FEAT("rf430f5155", "32bit")
-MSP430_MCU_FEAT("rf430f5144", "32bit")
-MSP430_MCU_FEAT("msp430fr69271", "32bit")
-MSP430_MCU_FEAT("msp430fr68791", "32bit")
-MSP430_MCU_FEAT("msp430fr69791", "32bit")
-MSP430_MCU_FEAT("msp430fr6927", "32bit")
-MSP430_MCU_FEAT("msp430fr6928", "32bit")
-MSP430_MCU_FEAT("msp430fr6877", "32bit")
-MSP430_MCU_FEAT("msp430fr6977", "32bit")
-MSP430_MCU_FEAT("msp430fr6879", "32bit")
-MSP430_MCU_FEAT("msp430fr6979", "32bit")
-MSP430_MCU_FEAT("msp430fr58891", "32bit")
-MSP430_MCU_FEAT("msp430fr68891", "32bit")
-MSP430_MCU_FEAT("msp430fr59891", "32bit")
-MSP430_MCU_FEAT("msp430fr69891", "32bit")
-MSP430_MCU_FEAT("msp430fr5887", "32bit")
-MSP430_MCU_FEAT("msp430fr5888", "32bit")
-MSP430_MCU_FEAT("msp430fr5889", "32bit")
-MSP430_MCU_FEAT("msp430fr6887", "32bit")
-MSP430_MCU_FEAT("msp430fr6888", "32bit")
-MSP430_MCU_FEAT("msp430fr6889", "32bit")
-MSP430_MCU_FEAT("msp430fr5986", "32bit")
-MSP430_MCU_FEAT("msp430fr5987", "32bit")
-MSP430_MCU_FEAT("msp430fr5988", "32bit")
-MSP430_MCU_FEAT("msp430fr5989", "32bit")
-MSP430_MCU_FEAT("msp430fr6987", "32bit")
-MSP430_MCU_FEAT("msp430fr6988", "32bit")
-MSP430_MCU_FEAT("msp430fr6989", "32bit")
-MSP430_MCU_FEAT("msp430fr5922", "32bit")
-MSP430_MCU_FEAT("msp430fr5870", "32bit")
-MSP430_MCU_FEAT("msp430fr5970", "32bit")
-MSP430_MCU_FEAT("msp430fr5872", "32bit")
-MSP430_MCU_FEAT("msp430fr5972", "32bit")
-MSP430_MCU_FEAT("msp430fr6820", "32bit")
-MSP430_MCU_FEAT("msp430fr6920", "32bit")
-MSP430_MCU_FEAT("msp430fr6822", "32bit")
-MSP430_MCU_FEAT("msp430fr6922", "32bit")
-MSP430_MCU_FEAT("msp430fr6870", "32bit")
-MSP430_MCU_FEAT("msp430fr6970", "32bit")
-MSP430_MCU_FEAT("msp430fr6872", "32bit")
-MSP430_MCU_FEAT("msp430fr6972", "32bit")
-MSP430_MCU_FEAT("msp430fr59221", "32bit")
-MSP430_MCU_FEAT("msp430fr58721", "32bit")
-MSP430_MCU_FEAT("msp430fr59721", "32bit")
-MSP430_MCU_FEAT("msp430fr68221", "32bit")
-MSP430_MCU_FEAT("msp430fr69221", "32bit")
-MSP430_MCU_FEAT("msp430fr68721", "32bit")
-MSP430_MCU_FEAT("msp430fr69721", "32bit")
-MSP430_MCU_FEAT("msp430sl5438a", "32bit")
-MSP430_MCU_FEAT("msp430fr2433", "32bit")
-MSP430_MCU_FEAT("msp430fr2532", "32bit")
-MSP430_MCU_FEAT("msp430fr2533", "32bit")
-MSP430_MCU_FEAT("msp430fr2632", "32bit")
-MSP430_MCU_FEAT("msp430fr2633", "32bit")
-MSP430_MCU_FEAT("msp430f5252", "32bit")
-MSP430_MCU_FEAT("msp430f5253", "32bit")
-MSP430_MCU_FEAT("msp430f5254", "32bit")
-MSP430_MCU_FEAT("msp430f5255", "32bit")
-MSP430_MCU_FEAT("msp430f5256", "32bit")
-MSP430_MCU_FEAT("msp430f5257", "32bit")
-MSP430_MCU_FEAT("msp430f5258", "32bit")
-MSP430_MCU_FEAT("msp430f5259", "32bit")
-MSP430_MCU_FEAT("msp430fr5962", "32bit")
-MSP430_MCU_FEAT("msp430fr5964", "32bit")
-MSP430_MCU_FEAT("msp430fr5992", "32bit")
-MSP430_MCU_FEAT("msp430fr5994", "32bit")
-MSP430_MCU_FEAT("msp430fr59941", "32bit")
-MSP430_MCU_FEAT("msp430fr2355", "32bit")
-MSP430_MCU_FEAT("msp430fr2155", "32bit")
-MSP430_MCU_FEAT("msp430fr2353", "32bit")
-MSP430_MCU_FEAT("msp430fr2153", "32bit")
-MSP430_MCU_FEAT("msp430fr2522", "32bit")
-MSP430_MCU_FEAT("msp430fr2512", "32bit")
-MSP430_MCU_FEAT("msp430fr2422", "32bit")
-MSP430_MCU_FEAT("msp430fr2676", "32bit")
-MSP430_MCU_FEAT("msp430fr2476", "32bit")
-MSP430_MCU_FEAT("msp430fr2675", "32bit")
-MSP430_MCU_FEAT("msp430fr2673", "32bit")
-MSP430_MCU_FEAT("msp430fr2475", "32bit")
-MSP430_MCU_FEAT("msp430fr2672", "32bit")
-MSP430_MCU_FEAT("msp430fr6043", "32bit")
-MSP430_MCU_FEAT("msp430fr5043", "32bit")
-MSP430_MCU_FEAT("msp430fr6041", "32bit")
-MSP430_MCU_FEAT("msp430fr60431", "32bit")
-MSP430_MCU_FEAT("msp430fr5041", "32bit")
-MSP430_MCU_FEAT("msp430fr50431", "32bit")
-MSP430_MCU_FEAT("msp430fr6005", "32bit")
-MSP430_MCU_FEAT("msp430fr6047", "32bit")
-MSP430_MCU_FEAT("msp430fr6037", "32bit")
-MSP430_MCU_FEAT("msp430fr6045", "32bit")
-MSP430_MCU_FEAT("msp430fr60471", "32bit")
-MSP430_MCU_FEAT("msp430fr6035", "32bit")
-MSP430_MCU_FEAT("msp430fr6007", "32bit")
-MSP430_MCU_FEAT("msp430fr60371", "32bit")
+MSP430_MCU("msp430c111", "msp430", "none")
+MSP430_MCU("msp430c1111", "msp430", "none")
+MSP430_MCU("msp430c112", "msp430", "none")
+MSP430_MCU("msp430c1121", "msp430", "none")
+MSP430_MCU("msp430c1331", "msp430", "none")
+MSP430_MCU("msp430c1351", "msp430", "none")
+MSP430_MCU("msp430c311s", "msp430", "none")
+MSP430_MCU("msp430c312", "msp430", "none")
+MSP430_MCU("msp430c313", "msp430", "none")
+MSP430_MCU("msp430c314", "msp430", "none")
+MSP430_MCU("msp430c315", "msp430", "none")
+MSP430_MCU("msp430c323", "msp430", "none")
+MSP430_MCU("msp430c325", "msp430", "none")
+MSP430_MCU("msp430c336", "msp430", "16bit")
+MSP430_MCU("msp430c337", "msp430", "16bit")
+MSP430_MCU("msp430c412", "msp430", "none")
+MSP430_MCU("msp430c413", "msp430", "none")
+MSP430_MCU("msp430cg4616", "msp430x", "16bit")
+MSP430_MCU("msp430cg4617", "msp430x", "16bit")
+MSP430_MCU("msp430cg4618", "msp430x", "16bit")
+MSP430_MCU("msp430cg4619", "msp430x", "16bit")
+MSP430_MCU("msp430e112", "msp430", "none")
+MSP430_MCU("msp430e313", "msp430", "none")
+MSP430_MCU("msp430e315", "msp430", "none")
+MSP430_MCU("msp430e325", "msp430", "none")
+MSP430_MCU("msp430e337", "msp430", "16bit")
+MSP430_MCU("msp430f110", "msp430", "none")
+MSP430_MCU("msp430f1101", "msp430", "none")
+MSP430_MCU("msp430f1101a", "msp430", "none")
+MSP430_MCU("msp430f1111", "msp430", "none")
+MSP430_MCU("msp430f1111a", "msp430", "none")
+MSP430_MCU("msp430f112", "msp430", "none")
+MSP430_MCU("msp430f1121", "msp430", "none")
+MSP430_MCU("msp430f1121a", "msp430", "none")
+MSP430_MCU("msp430f1122", "msp430", "none")
+MSP430_MCU("msp430f1132", "msp430", "none")
+MSP430_MCU("msp430f122", "msp430", "none")
+MSP430_MCU("msp430f1222", "msp430", "none")
+MSP430_MCU("msp430f123", "msp430", "none")
+MSP430_MCU("msp430f1232", "msp430", "none")
+MSP430_MCU("msp430f133", "msp430", "none")
+MSP430_MCU("msp430f135", "msp430", "none")
+MSP430_MCU("msp430f147", "msp430", "16bit")
+MSP430_MCU("msp430f148", "msp430", "16bit")
+MSP430_MCU("msp430f149", "msp430", "16bit")
+MSP430_MCU("msp430f1471", "msp430", "16bit")
+MSP430_MCU("msp430f1481", "msp430", "16bit")
+MSP430_MCU("msp430f1491", "msp430", "16bit")
+MSP430_MCU("msp430f155", "msp430", "none")
+MSP430_MCU("msp430f156", "msp430", "none")
+MSP430_MCU("msp430f157", "msp430", "none")
+MSP430_MCU("msp430f167", "msp430", "16bit")
+MSP430_MCU("msp430f168", "msp430", "16bit")
+MSP430_MCU("msp430f169", "msp430", "16bit")
+MSP430_MCU("msp430f1610", "msp430", "16bit")
+MSP430_MCU("msp430f1611", "msp430", "16bit")
+MSP430_MCU("msp430f1612", "msp430", "16bit")
+MSP430_MCU("msp430f2001", "msp430", "none")
+MSP430_MCU("msp430f2011", "msp430", "none")
+MSP430_MCU("msp430f2002", "msp430", "none")
+MSP430_MCU("msp430f2012", "msp430", "none")
+MSP430_MCU("msp430f2003", "msp430", "none")
+MSP430_MCU("msp430f2013", "msp430", "none")
+MSP430_MCU("msp430f2101", "msp430", "none")
+MSP430_MCU("msp430f2111", "msp430", "none")
+MSP430_MCU("msp430f2121", "msp430", "none")
+MSP430_MCU("msp430f2131", "msp430", "none")
+MSP430_MCU("msp430f2112", "msp430", "none")
+MSP430_MCU("msp430f2122", "msp430", "none")
+MSP430_MCU("msp430f2132", "msp430", "none")
+MSP430_MCU("msp430f2232", "msp430", "none")
+MSP430_MCU("msp430f2252", "msp430", "none")
+MSP430_MCU("msp430f2272", "msp430", "none")
+MSP430_MCU("msp430f2234", "msp430", "none")
+MSP430_MCU("msp430f2254", "msp430", "none")
+MSP430_MCU("msp430f2274", "msp430", "none")
+MSP430_MCU("msp430f2330", "msp430", "16bit")
+MSP430_MCU("msp430f2350", "msp430", "16bit")
+MSP430_MCU("msp430f2370", "msp430", "16bit")
+MSP430_MCU("msp430f233", "msp430", "16bit")
+MSP430_MCU("msp430f235", "msp430", "16bit")
+MSP430_MCU("msp430f247", "msp430", "16bit")
+MSP430_MCU("msp430f248", "msp430", "16bit")
+MSP430_MCU("msp430f249", "msp430", "16bit")
+MSP430_MCU("msp430f2410", "msp430", "16bit")
+MSP430_MCU("msp430f2471", "msp430", "16bit")
+MSP430_MCU("msp430f2481", "msp430", "16bit")
+MSP430_MCU("msp430f2491", "msp430", "16bit")
+MSP430_MCU("msp430f2416", "msp430x", "16bit")
+MSP430_MCU("msp430f2417", "msp430x", "16bit")
+MSP430_MCU("msp430f2418", "msp430x", "16bit")
+MSP430_MCU("msp430f2419", "msp430x", "16bit")
+MSP430_MCU("msp430f2616", "msp430x", "16bit")
+MSP430_MCU("msp430f2617", "msp430x", "16bit")
+MSP430_MCU("msp430f2618", "msp430x", "16bit")
+MSP430_MCU("msp430f2619", "msp430x", "16bit")
+MSP430_MCU("msp430f412", "msp430", "none")
+MSP430_MCU("msp430f413", "msp430", "none")
+MSP430_MCU("msp430f415", "msp430", "none")
+MSP430_MCU("msp430f417", "msp430", "none")
+MSP430_MCU("msp430f4132", "msp430", "none")
+MSP430_MCU("msp430f4152", "msp430", "none")
+MSP430_MCU("msp430f423", "msp430", "16bit")
+MSP430_MCU("msp430f425", "msp430", "16bit")
+MSP430_MCU("msp430f427", "msp430", "16bit")
+MSP430_MCU("msp430f423a", "msp430", "16bit")
+MSP430_MCU("msp430f425a", "msp430", "16bit")
+MSP430_MCU("msp430f427a", "msp430", "16bit")
+MSP430_MCU("msp430f435", "msp430", "none")
+MSP430_MCU("msp430f436", "msp430", "none")
+MSP430_MCU("msp430f437", "msp430", "none")
+MSP430_MCU("msp430f4351", "msp430", "none")
+MSP430_MCU("msp430f4361", "msp430", "none")
+MSP430_MCU("msp430f4371", "msp430", "none")
+MSP430_MCU("msp430f4481", "msp430", "16bit")
+MSP430_MCU("msp430f4491", "msp430", "16bit")
+MSP430_MCU("msp430f447", "msp430", "16bit")
+MSP430_MCU("msp430f448", "msp430", "16bit")
+MSP430_MCU("msp430f449", "msp430", "16bit")
+MSP430_MCU("msp430fe423", "msp430", "none")
+MSP430_MCU("msp430fe425", "msp430", "none")
+MSP430_MCU("msp430fe427", "msp430", "none")
+MSP430_MCU("msp430fe423a", "msp430", "none")
+MSP430_MCU("msp430fe425a", "msp430", "none")
+MSP430_MCU("msp430fe427a", "msp430", "none")
+MSP430_MCU("msp430fe4232", "msp430", "none")
+MSP430_MCU("msp430fe4242", "msp430", "none")
+MSP430_MCU("msp430fe4252", "msp430", "none")
+MSP430_MCU("msp430fe4272", "msp430", "none")
+MSP430_MCU("msp430f4783", "msp430", "32bit")
+MSP430_MCU("msp430f4793", "msp430", "32bit")
+MSP430_MCU("msp430f4784", "msp430", "32bit")
+MSP430_MCU("msp430f4794", "msp430", "32bit")
+MSP430_MCU("msp430f47126", "msp430x", "32bit")
+MSP430_MCU("msp430f47127", "msp430x", "32bit")
+MSP430_MCU("msp430f47163", "msp430x", "32bit")
+MSP430_MCU("msp430f47173", "msp430x", "32bit")
+MSP430_MCU("msp430f47183", "msp430x", "32bit")
+MSP430_MCU("msp430f47193", "msp430x", "32bit")
+MSP430_MCU("msp430f47166", "msp430x", "32bit")
+MSP430_MCU("msp430f47176", "msp430x", "32bit")
+MSP430_MCU("msp430f47186", "msp430x", "32bit")
+MSP430_MCU("msp430f47196", "msp430x", "32bit")
+MSP430_MCU("msp430f47167", "msp430x", "32bit")
+MSP430_MCU("msp430f47177", "msp430x", "32bit")
+MSP430_MCU("msp430f47187", "msp430x", "32bit")
+MSP430_MCU("msp430f47197", "msp430x", "32bit")
+MSP430_MCU("msp430f4250", "msp430", "none")
+MSP430_MCU("msp430f4260", "msp430", "none")
+MSP430_MCU("msp430f4270", "msp430", "none")
+MSP430_MCU("msp430fg4250", "msp430", "none")
+MSP430_MCU("msp430fg4260", "msp430", "none")
+MSP430_MCU("msp430fg4270", "msp430", "none")
+MSP430_MCU("msp430fw423", "msp430", "none")
+MSP430_MCU("msp430fw425", "msp430", "none")
+MSP430_MCU("msp430fw427", "msp430", "none")
+MSP430_MCU("msp430fw428", "msp430", "none")
+MSP430_MCU("msp430fw429", "msp430", "none")
+MSP430_MCU("msp430fg437", "msp430", "none")
+MSP430_MCU("msp430fg438", "msp430", "none")
+MSP430_MCU("msp430fg439", "msp430", "none")
+MSP430_MCU("msp430f438", "msp430", "none")
+MSP430_MCU("msp430f439", "msp430", "none")
+MSP430_MCU("msp430f477", "msp430", "none")
+MSP430_MCU("msp430f478", "msp430", "none")
+MSP430_MCU("msp430f479", "msp430", "none")
+MSP430_MCU("msp430fg477", "msp430", "none")
+MSP430_MCU("msp430fg478", "msp430", "none")
+MSP430_MCU("msp430fg479", "msp430", "none")
+MSP430_MCU("msp430f46161", "msp430x", "16bit")
+MSP430_MCU("msp430f46171", "msp430x", "16bit")
+MSP430_MCU("msp430f46181", "msp430x", "16bit")
+MSP430_MCU("msp430f46191", "msp430x", "16bit")
+MSP430_MCU("msp430f4616", "msp430x", "16bit")
+MSP430_MCU("msp430f4617", "msp430x", "16bit")
+MSP430_MCU("msp430f4618", "msp430x", "16bit")
+MSP430_MCU("msp430f4619", "msp430x", "16bit")
+MSP430_MCU("msp430fg4616", "msp430x", "16bit")
+MSP430_MCU("msp430fg4617", "msp430x", "16bit")
+MSP430_MCU("msp430fg4618", "msp430x", "16bit")
+MSP430_MCU("msp430fg4619", "msp430x", "16bit")
+MSP430_MCU("msp430f5418", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5419", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5435", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5436", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5437", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5438", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5418a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5419a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5435a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5436a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5437a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5438a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5212", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5213", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5214", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5217", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5218", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5219", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5222", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5223", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5224", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5227", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5228", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5229", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5232", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5234", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5237", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5239", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5242", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5244", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5247", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5249", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5304", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5308", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5309", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5310", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5340", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5341", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5342", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5324", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5325", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5326", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5327", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5328", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5329", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5500", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5501", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5502", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5503", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5504", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5505", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5506", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5507", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5508", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5509", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5510", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5513", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5514", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5515", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5517", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5519", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5521", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5522", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5524", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5525", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5526", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5527", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5528", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5529", "msp430xv2", "32bit")
+MSP430_MCU("msp430p112", "msp430", "none")
+MSP430_MCU("msp430p313", "msp430", "none")
+MSP430_MCU("msp430p315", "msp430", "none")
+MSP430_MCU("msp430p315s", "msp430", "none")
+MSP430_MCU("msp430p325", "msp430", "none")
+MSP430_MCU("msp430p337", "msp430", "16bit")
+MSP430_MCU("cc430f5133", "msp430xv2", "32bit")
+MSP430_MCU("cc430f5135", "msp430xv2", "32bit")
+MSP430_MCU("cc430f5137", "msp430xv2", "32bit")
+MSP430_MCU("cc430f6125", "msp430xv2", "32bit")
+MSP430_MCU("cc430f6126", "msp430xv2", "32bit")
+MSP430_MCU("cc430f6127", "msp430xv2", "32bit")
+MSP430_MCU("cc430f6135", "msp430xv2", "32bit")
+MSP430_MCU("cc430f6137", "msp430xv2", "32bit")
+MSP430_MCU("cc430f5123", "msp430xv2", "32bit")
+MSP430_MCU("cc430f5125", "msp430xv2", "32bit")
+MSP430_MCU("cc430f5143", "msp430xv2", "32bit")
+MSP430_MCU("cc430f5145", "msp430xv2", "32bit")
+MSP430_MCU("cc430f5147", "msp430xv2", "32bit")
+MSP430_MCU("cc430f6143", "msp430xv2", "32bit")
+MSP430_MCU("cc430f6145", "msp430xv2", "32bit")
+MSP430_MCU("cc430f6147", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5333", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5335", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5336", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5338", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5630", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5631", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5632", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5633", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5634", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5635", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5636", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5637", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5638", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6433", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6435", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6436", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6438", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6630", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6631", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6632", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6633", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6634", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6635", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6636", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6637", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6638", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5358", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5359", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5658", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5659", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6458", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6459", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6658", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6659", "msp430xv2", "32bit")
+MSP430_MCU("msp430fg6425", "msp430xv2", "32bit")
+MSP430_MCU("msp430fg6426", "msp430xv2", "32bit")
+MSP430_MCU("msp430fg6625", "msp430xv2", "32bit")
+MSP430_MCU("msp430fg6626", "msp430xv2", "32bit")
+MSP430_MCU("msp430l092", "msp430", "none")
+MSP430_MCU("msp430c091", "msp430", "none")
+MSP430_MCU("msp430c092", "msp430", "none")
+MSP430_MCU("msp430f5131", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5151", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5171", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5132", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5152", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5172", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6720", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6721", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6723", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6724", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6725", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6726", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6730", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6731", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6733", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6734", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6735", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6736", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67621", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67641", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6720a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6721a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6723a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6724a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6725a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6726a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6730a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6731a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6733a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6734a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6735a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6736a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67621a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67641a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67451", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67651", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67751", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67461", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67661", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67761", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67471", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67671", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67771", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67481", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67681", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67781", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67491", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67691", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67791", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6745", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6765", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6775", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6746", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6766", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6776", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6747", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6767", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6777", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6748", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6768", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6778", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6749", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6769", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6779", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67451a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67651a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67751a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67461a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67661a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67761a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67471a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67671a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67771a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67481a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67681a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67781a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67491a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67691a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f67791a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6745a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6765a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6775a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6746a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6766a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6776a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6747a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6767a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6777a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6748a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6768a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6778a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6749a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6769a", "msp430xv2", "32bit")
+MSP430_MCU("msp430f6779a", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5720", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5721", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5722", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5723", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5724", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5725", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5726", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5727", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5728", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5729", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5730", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5731", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5732", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5733", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5734", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5735", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5736", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5737", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5738", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5739", "msp430xv2", "32bit")
+MSP430_MCU("msp430g2211", "msp430", "none")
+MSP430_MCU("msp430g2201", "msp430", "none")
+MSP430_MCU("msp430g2111", "msp430", "none")
+MSP430_MCU("msp430g2101", "msp430", "none")
+MSP430_MCU("msp430g2001", "msp430", "none")
+MSP430_MCU("msp430g2231", "msp430", "none")
+MSP430_MCU("msp430g2221", "msp430", "none")
+MSP430_MCU("msp430g2131", "msp430", "none")
+MSP430_MCU("msp430g2121", "msp430", "none")
+MSP430_MCU("msp430afe221", "msp430", "16bit")
+MSP430_MCU("msp430afe231", "msp430", "16bit")
+MSP430_MCU("msp430afe251", "msp430", "16bit")
+MSP430_MCU("msp430afe222", "msp430", "16bit")
+MSP430_MCU("msp430afe232", "msp430", "16bit")
+MSP430_MCU("msp430afe252", "msp430", "16bit")
+MSP430_MCU("msp430afe223", "msp430", "16bit")
+MSP430_MCU("msp430afe233", "msp430", "16bit")
+MSP430_MCU("msp430afe253", "msp430", "16bit")
+MSP430_MCU("msp430g2102", "msp430", "none")
+MSP430_MCU("msp430g2202", "msp430", "none")
+MSP430_MCU("msp430g2302", "msp430", "none")
+MSP430_MCU("msp430g2402", "msp430", "none")
+MSP430_MCU("msp430g2132", "msp430", "none")
+MSP430_MCU("msp430g2232", "msp430", "none")
+MSP430_MCU("msp430g2332", "msp430", "none")
+MSP430_MCU("msp430g2432", "msp430", "none")
+MSP430_MCU("msp430g2112", "msp430", "none")
+MSP430_MCU("msp430g2212", "msp430", "none")
+MSP430_MCU("msp430g2312", "msp430", "none")
+MSP430_MCU("msp430g2412", "msp430", "none")
+MSP430_MCU("msp430g2152", "msp430", "none")
+MSP430_MCU("msp430g2252", "msp430", "none")
+MSP430_MCU("msp430g2352", "msp430", "none")
+MSP430_MCU("msp430g2452", "msp430", "none")
+MSP430_MCU("msp430g2113", "msp430", "none")
+MSP430_MCU("msp430g2213", "msp430", "none")
+MSP430_MCU("msp430g2313", "msp430", "none")
+MSP430_MCU("msp430g2413", "msp430", "none")
+MSP430_MCU("msp430g2513", "msp430", "none")
+MSP430_MCU("msp430g2153", "msp430", "none")
+MSP430_MCU("msp430g2253", "msp430", "none")
+MSP430_MCU("msp430g2353", "msp430", "none")
+MSP430_MCU("msp430g2453", "msp430", "none")
+MSP430_MCU("msp430g2553", "msp430", "none")
+MSP430_MCU("msp430g2203", "msp430", "none")
+MSP430_MCU("msp430g2303", "msp430", "none")
+MSP430_MCU("msp430g2403", "msp430", "none")
+MSP430_MCU("msp430g2233", "msp430", "none")
+MSP430_MCU("msp430g2333", "msp430", "none")
+MSP430_MCU("msp430g2433", "msp430", "none")
+MSP430_MCU("msp430g2533", "msp430", "none")
+MSP430_MCU("msp430tch5e", "msp430", "none")
+MSP430_MCU("msp430g2444", "msp430", "none")
+MSP430_MCU("msp430g2544", "msp430", "none")
+MSP430_MCU("msp430g2744", "msp430", "none")
+MSP430_MCU("msp430g2755", "msp430", "none")
+MSP430_MCU("msp430g2855", "msp430", "none")
+MSP430_MCU("msp430g2955", "msp430", "none")
+MSP430_MCU("msp430g2230", "msp430", "none")
+MSP430_MCU("msp430g2210", "msp430", "none")
+MSP430_MCU("msp430bt5190", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5857", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5858", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5859", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5847", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr58471", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5848", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5849", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5867", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr58671", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5868", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5869", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5957", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5958", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5959", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5947", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr59471", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5948", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5949", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5967", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5968", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5969", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr59691", "msp430xv2", "32bit")
+MSP430_MCU("msp430i2020", "msp430", "16bit")
+MSP430_MCU("msp430i2021", "msp430", "16bit")
+MSP430_MCU("msp430i2030", "msp430", "16bit")
+MSP430_MCU("msp430i2031", "msp430", "16bit")
+MSP430_MCU("msp430i2040", "msp430", "16bit")
+MSP430_MCU("msp430i2041", "msp430", "16bit")
+MSP430_MCU("rf430frl152h", "msp430", "none")
+MSP430_MCU("rf430frl153h", "msp430", "none")
+MSP430_MCU("rf430frl154h", "msp430", "none")
+MSP430_MCU("rf430frl152h_rom", "msp430", "none")
+MSP430_MCU("rf430frl153h_rom", "msp430", "none")
+MSP430_MCU("rf430frl154h_rom", "msp430", "none")
+MSP430_MCU("rf430f5175", "msp430xv2", "32bit")
+MSP430_MCU("rf430f5155", "msp430xv2", "32bit")
+MSP430_MCU("rf430f5144", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr69271", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr68791", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr69791", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6927", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6928", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6877", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6977", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6879", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6979", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr58891", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr68891", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr59891", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr69891", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5887", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5888", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5889", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6887", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6888", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6889", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5986", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5987", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5988", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5989", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6987", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6988", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6989", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5922", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5870", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5970", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5872", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5972", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6820", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6920", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6822", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6922", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6870", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6970", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6872", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6972", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr59221", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr58721", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr59721", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr68221", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr69221", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr68721", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr69721", "msp430xv2", "32bit")
+MSP430_MCU("msp430sl5438a", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr4131", "msp430xv2", "none")
+MSP430_MCU("msp430fr4132", "msp430xv2", "none")
+MSP430_MCU("msp430fr4133", "msp430xv2", "none")
+MSP430_MCU("msp430fr2032", "msp430xv2", "none")
+MSP430_MCU("msp430fr2033", "msp430xv2", "none")
+MSP430_MCU("msp430fr2110", "msp430xv2", "none")
+MSP430_MCU("msp430fr2111", "msp430xv2", "none")
+MSP430_MCU("msp430fr2310", "msp430xv2", "none")
+MSP430_MCU("msp430fr2311", "msp430xv2", "none")
+MSP430_MCU("msp430fr2433", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2532", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2533", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2632", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2633", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5252", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5253", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5254", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5255", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5256", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5257", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5258", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5259", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5962", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5964", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5992", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5994", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr59941", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2100", "msp430xv2", "none")
+MSP430_MCU("msp430fr2000", "msp430xv2", "none")
+MSP430_MCU("msp430fr2355", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2155", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2353", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2153", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2522", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2512", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2422", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2676", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2476", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2675", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2673", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2475", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2672", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6043", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5043", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6041", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr60431", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr5041", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr50431", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6005", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6047", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6037", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6045", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr60471", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6035", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr6007", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr60371", "msp430xv2", "32bit")
 
 // Generic MCUs
-MSP430_MCU("msp430i2xxgeneric")
+MSP430_MCU("msp430i2xxgeneric", "msp430", "none")
 
 #undef MSP430_MCU
-#undef MSP430_MCU_FEAT
diff --git a/clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py b/clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
index 3ae6fdd9d5c65..d93468c8ce11b 100755
--- a/clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
+++ b/clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
@@ -17,11 +17,17 @@
 import sys
 
 DEVICE_COLUMN = 0
+CPU_COLUMN = 1
 MULTIPLIER_COLUMN = 3
 
-MULTIPLIER_SW = "0"
-MULTIPLIER_HW_16 = ("1", "2")
-MULTIPLIER_HW_32 = ("4", "8")
+CPUS = {"0": "msp430", "1": "msp430x", "2": "msp430xv2"}
+MULTIPLIERS = {
+    "0": "none",
+    "1": "16bit",
+    "2": "16bit",
+    "4": "32bit",
+    "8": "32bit",
+}
 
 PREFIX = """//===--- MSP430Target.def - MSP430 Feature/Processor Database----*- C++ -*-===//
 //
@@ -39,22 +45,17 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef MSP430_MCU_FEAT
-#define MSP430_MCU_FEAT(NAME, HWMULT) MSP430_MCU(NAME)
-#endif
-
 #ifndef MSP430_MCU
-#define MSP430_MCU(NAME)
+#define MSP430_MCU(NAME, CPU, HWMULT)
 #endif
 
 """
 
 SUFFIX = """
 // Generic MCUs
-MSP430_MCU("msp430i2xxgeneric")
+MSP430_MCU("msp430i2xxgeneric", "msp430", "none")
 
 #undef MSP430_MCU
-#undef MSP430_MCU_FEAT
 """
 
 
@@ -69,9 +70,7 @@ def csv2def(csv_path, def_path):
     "type def_path: str
     """
 
-    mcus_multiplier_sw = []
-    mcus_multiplier_hw_16 = []
-    mcus_multiplier_hw_32 = []
+    mcus = []
     version = "unknown"
 
     with open(csv_path) as csv_file:
@@ -82,6 +81,7 @@ def csv2def(csv_path, def_path):
                 continue
 
             if row[DEVICE_COLUMN] == "# Device Name":
+                assert row[CPU_COLUMN] == "CPU_TYPE", "File format changed"
                 assert row[MULTIPLIER_COLUMN] == "MPY_TYPE", "File format changed"
                 break
 
@@ -91,30 +91,21 @@ def csv2def(csv_path, def_path):
         for row in csv_reader:
             if row[DEVICE_COLUMN].endswith("generic"):
                 continue
-            if row[MULTIPLIER_COLUMN] == MULTIPLIER_SW:
-                mcus_multiplier_sw.append(row[DEVICE_COLUMN])
-            elif row[MULTIPLIER_COLUMN] in MULTIPLIER_HW_16:
-                mcus_multiplier_hw_16.append(row[DEVICE_COLUMN])
-            elif row[MULTIPLIER_COLUMN] in MULTIPLIER_HW_32:
-                mcus_multiplier_hw_32.append(row[DEVICE_COLUMN])
-            else:
-                assert 0, "Unknown multiplier type"
+            assert row[CPU_COLUMN] in CPUS, "Unknown CPU type"
+            assert row[MULTIPLIER_COLUMN] in MULTIPLIERS, "Unknown multiplier type"
+            mcus.append(
+                (
+                    row[DEVICE_COLUMN],
+                    CPUS[row[CPU_COLUMN]],
+                    MULTIPLIERS[row[MULTIPLIER_COLUMN]],
+                )
+            )
 
     with open(def_path, "w") as def_file:
         def_file.write(PREFIX.format(version))
 
-        for mcu in mcus_multiplier_sw:
-            def_file.write(f'MSP430_MCU("{mcu}")\n')
-
-        def_file.write("\n// With 16-bit hardware multiplier\n")
-
-        for mcu in mcus_multiplier_hw_16:
-            def_file.write(f'MSP430_MCU_FEAT("{mcu}", "16bit")\n')
-
-        def_file.write("\n// With 32-bit hardware multiplier\n")
-
-        for mcu in mcus_multiplier_hw_32:
-            def_file.write(f'MSP430_MCU_FEAT("{mcu}", "32bit")\n')
+        for name, cpu, hwmult in mcus:
+            def_file.write(f'MSP430_MCU("{name}", "{cpu}", "{hwmult}")\n')
 
         def_file.write(SUFFIX)
 
diff --git a/clang/lib/Driver/ToolChains/MSP430.cpp b/clang/lib/Driver/ToolChains/MSP430.cpp
index d543637c311d2..4bd12d1e130e5 100644
--- a/clang/lib/Driver/ToolChains/MSP430.cpp
+++ b/clang/lib/Driver/ToolChains/MSP430.cpp
@@ -24,7 +24,7 @@ using namespace llvm::opt;
 
 static bool isSupportedMCU(const StringRef MCU) {
   return llvm::StringSwitch<bool>(MCU)
-#define MSP430_MCU(NAME) .Case(NAME, true)
+#define MSP430_MCU(NAME, CPU, HWMULT) .Case(NAME, true)
 #include "clang/Basic/MSP430Target.def"
       .Default(false);
 }
@@ -34,7 +34,7 @@ static StringRef getSupportedHWMult(const Arg *MCU) {
     return "none";
 
   return llvm::StringSwitch<StringRef>(MCU->getValue())
-#define MSP430_MCU_FEAT(NAME, HWMULT) .Case(NAME, HWMULT)
+#define MSP430_MCU(NAME, CPU, HWMULT) .Case(NAME, HWMULT)
 #include "clang/Basic/MSP430Target.def"
       .Default("none");
 }

>From a667f55561f40fda79921256c0c8c0be82cf6b31 Mon Sep 17 00:00:00 2001
From: Robin Mueller <robin.mueller.m at pm.me>
Date: Thu, 1 Oct 2026 10:42:19 +0200
Subject: [PATCH 2/2] [MSP430][Clang] Select f5series hwmult for 5xx/6xx MCUs

Adds a new hwmult variant called f5series. The script now maps the HWMPY
value of 8 to this variant. This is important because the f5series
hardware multiplier has a different base address compared to older MPY32
support.

Also added new tests with a newer target containing a f5series hardware
multiplier. The auto mode will now also correctly map to include f5series
support if the MCU supports this.
---
 clang/include/clang/Basic/MSP430Target.def    | 710 +++++++++---------
 .../Basic/Target/MSP430/gen-msp430-def.py     |   2 +-
 clang/test/Driver/msp430-hwmult.c             |   2 +
 clang/test/Driver/msp430-toolchain.c          |   4 +
 4 files changed, 362 insertions(+), 356 deletions(-)

diff --git a/clang/include/clang/Basic/MSP430Target.def b/clang/include/clang/Basic/MSP430Target.def
index cea5c2b038972..6549cf0d7a91e 100644
--- a/clang/include/clang/Basic/MSP430Target.def
+++ b/clang/include/clang/Basic/MSP430Target.def
@@ -199,252 +199,252 @@ MSP430_MCU("msp430fg4616", "msp430x", "16bit")
 MSP430_MCU("msp430fg4617", "msp430x", "16bit")
 MSP430_MCU("msp430fg4618", "msp430x", "16bit")
 MSP430_MCU("msp430fg4619", "msp430x", "16bit")
-MSP430_MCU("msp430f5418", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5419", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5435", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5436", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5437", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5438", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5418a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5419a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5435a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5436a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5437a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5438a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5212", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5213", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5214", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5217", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5218", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5219", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5222", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5223", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5224", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5227", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5228", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5229", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5232", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5234", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5237", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5239", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5242", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5244", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5247", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5249", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5304", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5308", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5309", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5310", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5340", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5341", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5342", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5324", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5325", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5326", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5327", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5328", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5329", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5500", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5501", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5502", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5503", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5504", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5505", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5506", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5507", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5508", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5509", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5510", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5513", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5514", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5515", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5517", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5519", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5521", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5522", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5524", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5525", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5526", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5527", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5528", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5529", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5418", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5419", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5435", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5436", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5437", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5438", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5418a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5419a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5435a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5436a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5437a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5438a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5212", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5213", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5214", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5217", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5218", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5219", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5222", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5223", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5224", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5227", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5228", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5229", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5232", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5234", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5237", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5239", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5242", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5244", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5247", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5249", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5304", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5308", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5309", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5310", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5340", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5341", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5342", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5324", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5325", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5326", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5327", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5328", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5329", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5500", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5501", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5502", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5503", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5504", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5505", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5506", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5507", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5508", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5509", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5510", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5513", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5514", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5515", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5517", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5519", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5521", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5522", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5524", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5525", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5526", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5527", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5528", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5529", "msp430xv2", "f5series")
 MSP430_MCU("msp430p112", "msp430", "none")
 MSP430_MCU("msp430p313", "msp430", "none")
 MSP430_MCU("msp430p315", "msp430", "none")
 MSP430_MCU("msp430p315s", "msp430", "none")
 MSP430_MCU("msp430p325", "msp430", "none")
 MSP430_MCU("msp430p337", "msp430", "16bit")
-MSP430_MCU("cc430f5133", "msp430xv2", "32bit")
-MSP430_MCU("cc430f5135", "msp430xv2", "32bit")
-MSP430_MCU("cc430f5137", "msp430xv2", "32bit")
-MSP430_MCU("cc430f6125", "msp430xv2", "32bit")
-MSP430_MCU("cc430f6126", "msp430xv2", "32bit")
-MSP430_MCU("cc430f6127", "msp430xv2", "32bit")
-MSP430_MCU("cc430f6135", "msp430xv2", "32bit")
-MSP430_MCU("cc430f6137", "msp430xv2", "32bit")
-MSP430_MCU("cc430f5123", "msp430xv2", "32bit")
-MSP430_MCU("cc430f5125", "msp430xv2", "32bit")
-MSP430_MCU("cc430f5143", "msp430xv2", "32bit")
-MSP430_MCU("cc430f5145", "msp430xv2", "32bit")
-MSP430_MCU("cc430f5147", "msp430xv2", "32bit")
-MSP430_MCU("cc430f6143", "msp430xv2", "32bit")
-MSP430_MCU("cc430f6145", "msp430xv2", "32bit")
-MSP430_MCU("cc430f6147", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5333", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5335", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5336", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5338", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5630", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5631", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5632", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5633", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5634", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5635", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5636", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5637", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5638", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6433", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6435", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6436", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6438", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6630", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6631", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6632", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6633", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6634", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6635", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6636", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6637", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6638", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5358", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5359", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5658", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5659", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6458", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6459", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6658", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6659", "msp430xv2", "32bit")
-MSP430_MCU("msp430fg6425", "msp430xv2", "32bit")
-MSP430_MCU("msp430fg6426", "msp430xv2", "32bit")
-MSP430_MCU("msp430fg6625", "msp430xv2", "32bit")
-MSP430_MCU("msp430fg6626", "msp430xv2", "32bit")
+MSP430_MCU("cc430f5133", "msp430xv2", "f5series")
+MSP430_MCU("cc430f5135", "msp430xv2", "f5series")
+MSP430_MCU("cc430f5137", "msp430xv2", "f5series")
+MSP430_MCU("cc430f6125", "msp430xv2", "f5series")
+MSP430_MCU("cc430f6126", "msp430xv2", "f5series")
+MSP430_MCU("cc430f6127", "msp430xv2", "f5series")
+MSP430_MCU("cc430f6135", "msp430xv2", "f5series")
+MSP430_MCU("cc430f6137", "msp430xv2", "f5series")
+MSP430_MCU("cc430f5123", "msp430xv2", "f5series")
+MSP430_MCU("cc430f5125", "msp430xv2", "f5series")
+MSP430_MCU("cc430f5143", "msp430xv2", "f5series")
+MSP430_MCU("cc430f5145", "msp430xv2", "f5series")
+MSP430_MCU("cc430f5147", "msp430xv2", "f5series")
+MSP430_MCU("cc430f6143", "msp430xv2", "f5series")
+MSP430_MCU("cc430f6145", "msp430xv2", "f5series")
+MSP430_MCU("cc430f6147", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5333", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5335", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5336", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5338", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5630", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5631", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5632", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5633", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5634", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5635", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5636", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5637", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5638", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6433", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6435", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6436", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6438", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6630", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6631", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6632", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6633", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6634", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6635", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6636", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6637", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6638", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5358", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5359", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5658", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5659", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6458", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6459", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6658", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6659", "msp430xv2", "f5series")
+MSP430_MCU("msp430fg6425", "msp430xv2", "f5series")
+MSP430_MCU("msp430fg6426", "msp430xv2", "f5series")
+MSP430_MCU("msp430fg6625", "msp430xv2", "f5series")
+MSP430_MCU("msp430fg6626", "msp430xv2", "f5series")
 MSP430_MCU("msp430l092", "msp430", "none")
 MSP430_MCU("msp430c091", "msp430", "none")
 MSP430_MCU("msp430c092", "msp430", "none")
-MSP430_MCU("msp430f5131", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5151", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5171", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5132", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5152", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5172", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6720", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6721", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6723", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6724", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6725", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6726", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6730", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6731", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6733", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6734", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6735", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6736", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67621", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67641", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6720a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6721a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6723a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6724a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6725a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6726a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6730a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6731a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6733a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6734a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6735a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6736a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67621a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67641a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67451", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67651", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67751", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67461", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67661", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67761", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67471", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67671", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67771", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67481", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67681", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67781", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67491", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67691", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67791", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6745", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6765", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6775", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6746", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6766", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6776", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6747", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6767", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6777", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6748", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6768", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6778", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6749", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6769", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6779", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67451a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67651a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67751a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67461a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67661a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67761a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67471a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67671a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67771a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67481a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67681a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67781a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67491a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67691a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f67791a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6745a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6765a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6775a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6746a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6766a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6776a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6747a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6767a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6777a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6748a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6768a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6778a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6749a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6769a", "msp430xv2", "32bit")
-MSP430_MCU("msp430f6779a", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5720", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5721", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5722", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5723", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5724", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5725", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5726", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5727", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5728", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5729", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5730", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5731", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5732", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5733", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5734", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5735", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5736", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5737", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5738", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5739", "msp430xv2", "32bit")
+MSP430_MCU("msp430f5131", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5151", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5171", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5132", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5152", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5172", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6720", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6721", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6723", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6724", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6725", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6726", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6730", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6731", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6733", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6734", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6735", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6736", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67621", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67641", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6720a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6721a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6723a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6724a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6725a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6726a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6730a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6731a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6733a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6734a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6735a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6736a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67621a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67641a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67451", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67651", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67751", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67461", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67661", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67761", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67471", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67671", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67771", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67481", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67681", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67781", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67491", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67691", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67791", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6745", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6765", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6775", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6746", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6766", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6776", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6747", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6767", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6777", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6748", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6768", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6778", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6749", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6769", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6779", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67451a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67651a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67751a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67461a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67661a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67761a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67471a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67671a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67771a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67481a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67681a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67781a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67491a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67691a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f67791a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6745a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6765a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6775a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6746a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6766a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6776a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6747a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6767a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6777a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6748a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6768a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6778a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6749a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6769a", "msp430xv2", "f5series")
+MSP430_MCU("msp430f6779a", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5720", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5721", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5722", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5723", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5724", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5725", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5726", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5727", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5728", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5729", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5730", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5731", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5732", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5733", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5734", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5735", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5736", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5737", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5738", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5739", "msp430xv2", "f5series")
 MSP430_MCU("msp430g2211", "msp430", "none")
 MSP430_MCU("msp430g2201", "msp430", "none")
 MSP430_MCU("msp430g2111", "msp430", "none")
@@ -505,29 +505,29 @@ MSP430_MCU("msp430g2855", "msp430", "none")
 MSP430_MCU("msp430g2955", "msp430", "none")
 MSP430_MCU("msp430g2230", "msp430", "none")
 MSP430_MCU("msp430g2210", "msp430", "none")
-MSP430_MCU("msp430bt5190", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5857", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5858", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5859", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5847", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr58471", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5848", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5849", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5867", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr58671", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5868", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5869", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5957", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5958", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5959", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5947", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr59471", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5948", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5949", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5967", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5968", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5969", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr59691", "msp430xv2", "32bit")
+MSP430_MCU("msp430bt5190", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5857", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5858", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5859", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5847", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr58471", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5848", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5849", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5867", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr58671", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5868", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5869", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5957", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5958", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5959", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5947", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr59471", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5948", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5949", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5967", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5968", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5969", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr59691", "msp430xv2", "f5series")
 MSP430_MCU("msp430i2020", "msp430", "16bit")
 MSP430_MCU("msp430i2021", "msp430", "16bit")
 MSP430_MCU("msp430i2030", "msp430", "16bit")
@@ -540,56 +540,56 @@ MSP430_MCU("rf430frl154h", "msp430", "none")
 MSP430_MCU("rf430frl152h_rom", "msp430", "none")
 MSP430_MCU("rf430frl153h_rom", "msp430", "none")
 MSP430_MCU("rf430frl154h_rom", "msp430", "none")
-MSP430_MCU("rf430f5175", "msp430xv2", "32bit")
-MSP430_MCU("rf430f5155", "msp430xv2", "32bit")
-MSP430_MCU("rf430f5144", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr69271", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr68791", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr69791", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6927", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6928", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6877", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6977", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6879", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6979", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr58891", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr68891", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr59891", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr69891", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5887", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5888", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5889", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6887", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6888", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6889", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5986", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5987", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5988", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5989", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6987", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6988", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6989", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5922", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5870", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5970", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5872", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5972", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6820", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6920", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6822", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6922", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6870", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6970", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6872", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6972", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr59221", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr58721", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr59721", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr68221", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr69221", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr68721", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr69721", "msp430xv2", "32bit")
-MSP430_MCU("msp430sl5438a", "msp430xv2", "32bit")
+MSP430_MCU("rf430f5175", "msp430xv2", "f5series")
+MSP430_MCU("rf430f5155", "msp430xv2", "f5series")
+MSP430_MCU("rf430f5144", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr69271", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr68791", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr69791", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6927", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6928", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6877", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6977", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6879", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6979", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr58891", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr68891", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr59891", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr69891", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5887", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5888", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5889", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6887", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6888", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6889", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5986", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5987", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5988", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5989", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6987", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6988", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6989", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5922", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5870", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5970", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5872", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5972", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6820", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6920", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6822", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6922", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6870", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6970", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6872", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6972", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr59221", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr58721", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr59721", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr68221", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr69221", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr68721", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr69721", "msp430xv2", "f5series")
+MSP430_MCU("msp430sl5438a", "msp430xv2", "f5series")
 MSP430_MCU("msp430fr4131", "msp430xv2", "none")
 MSP430_MCU("msp430fr4132", "msp430xv2", "none")
 MSP430_MCU("msp430fr4133", "msp430xv2", "none")
@@ -599,53 +599,53 @@ MSP430_MCU("msp430fr2110", "msp430xv2", "none")
 MSP430_MCU("msp430fr2111", "msp430xv2", "none")
 MSP430_MCU("msp430fr2310", "msp430xv2", "none")
 MSP430_MCU("msp430fr2311", "msp430xv2", "none")
-MSP430_MCU("msp430fr2433", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2532", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2533", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2632", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2633", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5252", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5253", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5254", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5255", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5256", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5257", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5258", "msp430xv2", "32bit")
-MSP430_MCU("msp430f5259", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5962", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5964", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5992", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5994", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr59941", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2433", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2532", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2533", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2632", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2633", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5252", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5253", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5254", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5255", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5256", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5257", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5258", "msp430xv2", "f5series")
+MSP430_MCU("msp430f5259", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5962", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5964", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5992", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5994", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr59941", "msp430xv2", "f5series")
 MSP430_MCU("msp430fr2100", "msp430xv2", "none")
 MSP430_MCU("msp430fr2000", "msp430xv2", "none")
-MSP430_MCU("msp430fr2355", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2155", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2353", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2153", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2522", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2512", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2422", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2676", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2476", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2675", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2673", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2475", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr2672", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6043", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5043", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6041", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr60431", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr5041", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr50431", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6005", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6047", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6037", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6045", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr60471", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6035", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr6007", "msp430xv2", "32bit")
-MSP430_MCU("msp430fr60371", "msp430xv2", "32bit")
+MSP430_MCU("msp430fr2355", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2155", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2353", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2153", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2522", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2512", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2422", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2676", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2476", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2675", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2673", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2475", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr2672", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6043", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5043", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6041", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr60431", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr5041", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr50431", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6005", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6047", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6037", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6045", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr60471", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6035", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr6007", "msp430xv2", "f5series")
+MSP430_MCU("msp430fr60371", "msp430xv2", "f5series")
 
 // Generic MCUs
 MSP430_MCU("msp430i2xxgeneric", "msp430", "none")
diff --git a/clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py b/clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
index d93468c8ce11b..2ade78e2eccfa 100755
--- a/clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
+++ b/clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
@@ -26,7 +26,7 @@
     "1": "16bit",
     "2": "16bit",
     "4": "32bit",
-    "8": "32bit",
+    "8": "f5series",
 }
 
 PREFIX = """//===--- MSP430Target.def - MSP430 Feature/Processor Database----*- C++ -*-===//
diff --git a/clang/test/Driver/msp430-hwmult.c b/clang/test/Driver/msp430-hwmult.c
index 3ba6bfcdce5f7..ee263fffbe6f0 100644
--- a/clang/test/Driver/msp430-hwmult.c
+++ b/clang/test/Driver/msp430-hwmult.c
@@ -21,6 +21,7 @@
 // CHECK-32: "-target-feature" "+hwmult32"
 
 // RUN: %clang  -### --target=msp430 %s -mhwmult=f5series 2>&1 | FileCheck --check-prefix=CHECK-F5 %s
+// RUN: %clang  -### --target=msp430 %s -mmcu=msp430f5529 2>&1 | FileCheck --check-prefix=CHECK-F5 %s
 // CHECK-F5: "-target-feature" "+hwmultf5"
 
 // RUN: not %clang  -### --target=msp430 %s -mhwmult=rrr 2>&1 | FileCheck --check-prefix=INVL-ARG %s
@@ -39,4 +40,5 @@
 // RUN: %clang  -### --target=msp430 %s -mhwmult=16bit -mmcu=msp430f4783 2>&1 | FileCheck --check-prefix=WRN-MISMCH %s
 // RUN: %clang  -### --target=msp430 %s -mhwmult=32bit -mmcu=msp430f147 2>&1 | FileCheck --check-prefix=WRN-MISMCH %s
 // RUN: %clang  -### --target=msp430 %s -mhwmult=f5series -mmcu=msp430f4783 2>&1 | FileCheck --check-prefix=WRN-MISMCH %s
+// RUN: %clang  -### --target=msp430 %s -mhwmult=32bit -mmcu=msp430f5529 2>&1 | FileCheck --check-prefix=WRN-MISMCH %s
 // WRN-MISMCH: warning: the given MCU supports {{.*}} hardware multiply, but '-mhwmult' is set to {{.*}}
diff --git a/clang/test/Driver/msp430-toolchain.c b/clang/test/Driver/msp430-toolchain.c
index 3c3042b482ef2..45010deb40a54 100644
--- a/clang/test/Driver/msp430-toolchain.c
+++ b/clang/test/Driver/msp430-toolchain.c
@@ -253,6 +253,10 @@
 // RUN:   | FileCheck -check-prefix=HWMult-32BIT %s
 // HWMult-32BIT: "--start-group" "-lmul_32"
 
+// RUN: %clang -### %s --target=msp430 -mmcu=msp430f5529 --sysroot="" 2>&1 \
+// RUN:   | FileCheck -check-prefix=HWMult-F5 %s
+// RUN: %clang -### %s --target=msp430 -mmcu=msp430f5529 -mhwmult=auto --sysroot="" 2>&1 \
+// RUN:   | FileCheck -check-prefix=HWMult-F5 %s
 // RUN: %clang -### %s --target=msp430 -mhwmult=f5series --sysroot="" 2>&1 \
 // RUN:   | FileCheck -check-prefix=HWMult-F5 %s
 // HWMult-F5: "--start-group" "-lmul_f5"



More information about the cfe-commits mailing list