aboutsummaryrefslogtreecommitdiffstats
path: root/devel/avr-gcc/files/patch-400-gcc-4.5.1-new-devices
blob: 4a6df3f96b61b4687d89b99a2b1bc98f1572b025 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
diff -Naurp gcc/config/avr/avr-devices.c gcc/config/avr/avr-devices.c
--- gcc/config/avr/avr-devices.c    2011-02-07 14:19:27.000000000 -0600
+++ gcc/config/avr/avr-devices.c    2011-02-07 14:21:41.000000000 -0600
@@ -75,15 +75,23 @@ const struct mcu_type_s avr_mcu_types[] 
   { "attiny13",             ARCH_AVR25, "__AVR_ATtiny13__",         1, 0x0060, "tn13" },
   { "attiny13a",            ARCH_AVR25, "__AVR_ATtiny13A__",        1, 0x0060, "tn13a" },
   { "attiny2313",           ARCH_AVR25, "__AVR_ATtiny2313__",       1, 0x0060, "tn2313" },
+  { "attiny2313a",          ARCH_AVR25, "__AVR_ATtiny2313A__",      1, 0x0060, "tn2313a" },
   { "attiny24",             ARCH_AVR25, "__AVR_ATtiny24__",         1, 0x0060, "tn24" },
+  { "attiny24a",            ARCH_AVR25, "__AVR_ATtiny24A__",        1, 0x0060, "tn24a" },
+  { "attiny4313",           ARCH_AVR25, "__AVR_ATtiny4313__",       0, 0x0060, "tn4313" },
   { "attiny44",             ARCH_AVR25, "__AVR_ATtiny44__",         0, 0x0060, "tn44" },
+  { "attiny44a",            ARCH_AVR25, "__AVR_ATtiny44A__",        0, 0x0060, "tn44a" },
   { "attiny84",             ARCH_AVR25, "__AVR_ATtiny84__",         0, 0x0060, "tn84" },
+  { "attiny84a",            ARCH_AVR25, "__AVR_ATtiny84A__",        0, 0x0060, "tn84a" },
   { "attiny25",             ARCH_AVR25, "__AVR_ATtiny25__",         1, 0x0060, "tn25" },
   { "attiny45",             ARCH_AVR25, "__AVR_ATtiny45__",         0, 0x0060, "tn45" },
   { "attiny85",             ARCH_AVR25, "__AVR_ATtiny85__",         0, 0x0060, "tn85" },
   { "attiny261",            ARCH_AVR25, "__AVR_ATtiny261__",        1, 0x0060, "tn261" },
+  { "attiny261a",           ARCH_AVR25, "__AVR_ATtiny261A__",       1, 0x0060, "tn261a" },
   { "attiny461",            ARCH_AVR25, "__AVR_ATtiny461__",        0, 0x0060, "tn461" },
+  { "attiny461a",           ARCH_AVR25, "__AVR_ATtiny461A__",       0, 0x0060, "tn461a" },
   { "attiny861",            ARCH_AVR25, "__AVR_ATtiny861__",        0, 0x0060, "tn861" },
+  { "attiny861a",           ARCH_AVR25, "__AVR_ATtiny861A__",       0, 0x0060, "tn861a" },
   { "attiny43u",            ARCH_AVR25, "__AVR_ATtiny43U__",        0, 0x0060, "tn43u" },
   { "attiny87",             ARCH_AVR25, "__AVR_ATtiny87__",         0, 0x0100, "tn87" },
   { "attiny48",             ARCH_AVR25, "__AVR_ATtiny48__",         0, 0x0100, "tn48" },
@@ -105,21 +113,19 @@ const struct mcu_type_s avr_mcu_types[] 
   { "atmega16u2",           ARCH_AVR35, "__AVR_ATmega16U2__",       0, 0x0100, "m16u2" },
   { "atmega32u2",           ARCH_AVR35, "__AVR_ATmega32U2__",       0, 0x0100, "m32u2" },
   { "attiny167",            ARCH_AVR35, "__AVR_ATtiny167__",        0, 0x0100, "tn167" },
-  { "attiny327",            ARCH_AVR35, "__AVR_ATtiny327__",        0, 0x0100, "tn327" },
     /* Enhanced, <= 8K.  */
   { "avr4",                 ARCH_AVR4, NULL,                        0, 0x0060, "m8" },
   { "atmega8",              ARCH_AVR4, "__AVR_ATmega8__",           0, 0x0060, "m8" },
   { "atmega48",             ARCH_AVR4, "__AVR_ATmega48__",          0, 0x0100, "m48" },
+  { "atmega48a",            ARCH_AVR4, "__AVR_ATmega48A__",         0, 0x0100, "m48a" },
   { "atmega48p",            ARCH_AVR4, "__AVR_ATmega48P__",         0, 0x0100, "m48p" },
   { "atmega88",             ARCH_AVR4, "__AVR_ATmega88__",          0, 0x0100, "m88" },
+  { "atmega88a",            ARCH_AVR4, "__AVR_ATmega88A__",         0, 0x0100, "m88a" },
   { "atmega88p",            ARCH_AVR4, "__AVR_ATmega88P__",         0, 0x0100, "m88p" },
+  { "atmega88pa",           ARCH_AVR4, "__AVR_ATmega88PA__",        0, 0x0100, "m88pa" },
   { "atmega8515",           ARCH_AVR4, "__AVR_ATmega8515__",        0, 0x0060, "m8515" },
   { "atmega8535",           ARCH_AVR4, "__AVR_ATmega8535__",        0, 0x0060, "m8535" },
-  { "atmega8c1",            ARCH_AVR4, "__AVR_ATmega8C1__",         0, 0x0100, "m8c1" },
-  { "atmega8m1",            ARCH_AVR4, "__AVR_ATmega8M1__",         0, 0x0100, "m8m1" },
   { "atmega8hva",           ARCH_AVR4, "__AVR_ATmega8HVA__",        0, 0x0100, "m8hva" },
-  { "atmega4hvd",           ARCH_AVR4, "__AVR_ATmega4HVD__",        0, 0x0100, "m4hvd" },
-  { "atmega8hvd",           ARCH_AVR4, "__AVR_ATmega8HVD__",        0, 0x0100, "m8hvd" },
   { "at90pwm1",             ARCH_AVR4, "__AVR_AT90PWM1__",          0, 0x0100, "90pwm1" },
   { "at90pwm2",             ARCH_AVR4, "__AVR_AT90PWM2__",          0, 0x0100, "90pwm2" },
   { "at90pwm2b",            ARCH_AVR4, "__AVR_AT90PWM2B__",         0, 0x0100, "90pwm2b" },
@@ -128,41 +134,78 @@ const struct mcu_type_s avr_mcu_types[] 
   { "at90pwm81",            ARCH_AVR4, "__AVR_AT90PWM81__",         0, 0x0100, "90pwm81" },
     /* Enhanced, > 8K, <= 64K.  */
   { "avr5",                 ARCH_AVR5, NULL,                        0, 0x0060, "m16" },
+  { "at90pwm161",           ARCH_AVR5, "__AVR_AT90PWM161__",        1, 0x0100, "90pwm161" },
   { "atmega16",             ARCH_AVR5, "__AVR_ATmega16__",          0, 0x0060, "m16" },
+  { "atmega16a",            ARCH_AVR5, "__AVR_ATmega16A__",         0, 0x0060, "m16a" },
   { "atmega161",            ARCH_AVR5, "__AVR_ATmega161__",         0, 0x0060, "m161" },
   { "atmega162",            ARCH_AVR5, "__AVR_ATmega162__",         0, 0x0100, "m162" },
   { "atmega163",            ARCH_AVR5, "__AVR_ATmega163__",         0, 0x0060, "m163" },
+  { "atmega164a",           ARCH_AVR5, "__AVR_ATmega164A__",        0, 0x0060, "m164a" },
   { "atmega164p",           ARCH_AVR5, "__AVR_ATmega164P__",        0, 0x0100, "m164p" },
   { "atmega165",            ARCH_AVR5, "__AVR_ATmega165__",         0, 0x0100, "m165" },
+  { "atmega165a",           ARCH_AVR5, "__AVR_ATmega165A__",        0, 0x0100, "m165a" },
   { "atmega165p",           ARCH_AVR5, "__AVR_ATmega165P__",        0, 0x0100, "m165p" },
   { "atmega168",            ARCH_AVR5, "__AVR_ATmega168__",         0, 0x0100, "m168" },
+  { "atmega168a",           ARCH_AVR5, "__AVR_ATmega168A__",        0, 0x0100, "m168a" },
   { "atmega168p",           ARCH_AVR5, "__AVR_ATmega168P__",        0, 0x0100, "m168p" },
   { "atmega169",            ARCH_AVR5, "__AVR_ATmega169__",         0, 0x0100, "m169" },
+  { "atmega169a",           ARCH_AVR5, "__AVR_ATmega169A__",        0, 0x0100, "m169a" },
   { "atmega169p",           ARCH_AVR5, "__AVR_ATmega169P__",        0, 0x0100, "m169p" },
+  { "atmega169pa",          ARCH_AVR5, "__AVR_ATmega169PA__",       0, 0x0100, "m169pa" },
+  { "atmega16hva",          ARCH_AVR5, "__AVR_ATmega16HVA__",       0, 0x0100, "m16hva" },
+  { "atmega16hva2",         ARCH_AVR5, "__AVR_ATmega16HVA2__",      0, 0x0100, "m16hva2" },
+  { "atmega16hvb",          ARCH_AVR5, "__AVR_ATmega16HVB__",       0, 0x0100, "m16hvb" },
+  { "atmega16hvbrevb",      ARCH_AVR5, "__AVR_ATmega16HVBREVB__",   1, 0x0100, "m16hvbrevb" },
+  { "atmega16m1",           ARCH_AVR5, "__AVR_ATmega16M1__",        0, 0x0100, "m16m1" },
+  { "atmega16u4",           ARCH_AVR5, "__AVR_ATmega16U4__",        0, 0x0100, "m16u4" },
   { "atmega32",             ARCH_AVR5, "__AVR_ATmega32__",          0, 0x0060, "m32" },
   { "atmega323",            ARCH_AVR5, "__AVR_ATmega323__",         0, 0x0060, "m323" },
+  { "atmega324a",           ARCH_AVR5, "__AVR_ATmega324A__",        0, 0x0060, "m324a" },
   { "atmega324p",           ARCH_AVR5, "__AVR_ATmega324P__",        0, 0x0100, "m324p" },
+  { "atmega324pa",          ARCH_AVR5, "__AVR_ATmega324PA__",       0, 0x0100, "m324pa" },
   { "atmega325",            ARCH_AVR5, "__AVR_ATmega325__",         0, 0x0100, "m325" },
+  { "atmega325a",           ARCH_AVR5, "__AVR_ATmega325A__",        0, 0x0100, "m325a" },
   { "atmega325p",           ARCH_AVR5, "__AVR_ATmega325P__",        0, 0x0100, "m325p" },
   { "atmega3250",           ARCH_AVR5, "__AVR_ATmega3250__",        0, 0x0100, "m3250" },
+  { "atmega3250a",          ARCH_AVR5, "__AVR_ATmega3250A__",       0, 0x0100, "m3250a" },
   { "atmega3250p",          ARCH_AVR5, "__AVR_ATmega3250P__",       0, 0x0100, "m3250p" },
+  { "atmega328",            ARCH_AVR5, "__AVR_ATmega328__",         0, 0x0100, "m328" },
   { "atmega328p",           ARCH_AVR5, "__AVR_ATmega328P__",        0, 0x0100, "m328p" },
   { "atmega329",            ARCH_AVR5, "__AVR_ATmega329__",         0, 0x0100, "m329" },
+  { "atmega329a",           ARCH_AVR5, "__AVR_ATmega329A__",        0, 0x0100, "m329a" },
   { "atmega329p",           ARCH_AVR5, "__AVR_ATmega329P__",        0, 0x0100, "m329p" },
+  { "atmega329pa",          ARCH_AVR5, "__AVR_ATmega329PA__",       0, 0x0100, "m329pa" },
   { "atmega3290",           ARCH_AVR5, "__AVR_ATmega3290__",        0, 0x0100, "m3290" },
+  { "atmega3290a",          ARCH_AVR5, "__AVR_ATmega3290A__",       0, 0x0100, "m3290a" },
   { "atmega3290p",          ARCH_AVR5, "__AVR_ATmega3290P__",       0, 0x0100, "m3290p" },
+  { "atmega32c1",           ARCH_AVR5, "__AVR_ATmega32C1__",        0, 0x0100, "m32c1" },
+  { "atmega32m1",           ARCH_AVR5, "__AVR_ATmega32M1__",        0, 0x0100, "m32m1" },
+  { "atmega32u4",           ARCH_AVR5, "__AVR_ATmega32U4__",        0, 0x0100, "m32u4" },
+  { "atmega32u6",           ARCH_AVR5, "__AVR_ATmega32U6__",        0, 0x0100, "m32u6" },
   { "atmega406",            ARCH_AVR5, "__AVR_ATmega406__",         0, 0x0100, "m406" },
   { "atmega64",             ARCH_AVR5, "__AVR_ATmega64__",          0, 0x0100, "m64" },
   { "atmega640",            ARCH_AVR5, "__AVR_ATmega640__",         0, 0x0200, "m640" },
   { "atmega644",            ARCH_AVR5, "__AVR_ATmega644__",         0, 0x0100, "m644" },
+  { "atmega644a",           ARCH_AVR5, "__AVR_ATmega644A__",        0, 0x0100, "m644a" },
   { "atmega644p",           ARCH_AVR5, "__AVR_ATmega644P__",        0, 0x0100, "m644p" },
+  { "atmega644pa",          ARCH_AVR5, "__AVR_ATmega644PA__",       0, 0x0100, "m644pa" },
+  { "atmega645a",           ARCH_AVR5, "__AVR_ATmega645A__",        0, 0x0100, "m645a" },
+  { "atmega645p",           ARCH_AVR5, "__AVR_ATmega645P__",        0, 0x0100, "m645p" },
   { "atmega645",            ARCH_AVR5, "__AVR_ATmega645__",         0, 0x0100, "m645" },
   { "atmega6450",           ARCH_AVR5, "__AVR_ATmega6450__",        0, 0x0100, "m6450" },
+  { "atmega6450a",          ARCH_AVR5, "__AVR_ATmega6450A__",       0, 0x0100, "m6450a" },
+  { "atmega6450p",          ARCH_AVR5, "__AVR_ATmega6450P__",       0, 0x0100, "m6450p" },
   { "atmega649",            ARCH_AVR5, "__AVR_ATmega649__",         0, 0x0100, "m649" },
+  { "atmega649a",           ARCH_AVR5, "__AVR_ATmega649A__",        0, 0x0100, "m649a" },
+  { "atmega649p",           ARCH_AVR5, "__AVR_ATmega649P__",        0, 0x0100, "m649p" },
   { "atmega6490",           ARCH_AVR5, "__AVR_ATmega6490__",        0, 0x0100, "m6490" },
-  { "atmega16hva",          ARCH_AVR5, "__AVR_ATmega16HVA__",       0, 0x0100, "m16hva" },
-  { "atmega16hvb",          ARCH_AVR5, "__AVR_ATmega16HVB__",       0, 0x0100, "m16hvb" },
-  { "atmega32hvb",          ARCH_AVR5, "__AVR_ATmega32HVB__",       0, 0x0100, "m23hvb" },
+  { "atmega6490a",          ARCH_AVR5, "__AVR_ATmega6490A__",       0, 0x0100, "m6490a" },
+  { "atmega6490p",          ARCH_AVR5, "__AVR_ATmega6490P__",       0, 0x0100, "m6490p" },
+  { "atmega64c1",           ARCH_AVR5, "__AVR_ATmega64C1__",        0, 0x0100, "m64c1" },
+  { "atmega64m1",           ARCH_AVR5, "__AVR_ATmega64M1__",        0, 0x0100, "m64m1" },
+  { "atmega64hve",          ARCH_AVR5, "__AVR_ATmega64HVE__",       0, 0x0100, "m64hve" },
+  { "atmega32hvb",          ARCH_AVR5, "__AVR_ATmega32HVB__",       0, 0x0100, "m32hvb" },
+  { "atmega32hvbrevb",      ARCH_AVR5, "__AVR_ATmega32HVBREVB__",   1, 0x0100, "m32hvbrevb" },
   { "at90can32",            ARCH_AVR5, "__AVR_AT90CAN32__",         0, 0x0100, "can32" },
   { "at90can64",            ARCH_AVR5, "__AVR_AT90CAN64__",         0, 0x0100, "can64" },
   { "at90pwm216",           ARCH_AVR5, "__AVR_AT90PWM216__",        0, 0x0100, "90pwm216" },
@@ -180,6 +223,7 @@ const struct mcu_type_s avr_mcu_types[] 
   { "at90usb646",           ARCH_AVR5, "__AVR_AT90USB646__",        0, 0x0100, "usb646" },
   { "at90usb647",           ARCH_AVR5, "__AVR_AT90USB647__",        0, 0x0100, "usb647" },
   { "at94k",                ARCH_AVR5, "__AVR_AT94K__",             0, 0x0060, "at94k" },
+  { "m3000",                ARCH_AVR5, "__AVR_M3000__",             0, 0x1000, "m3000" },
     /* Enhanced, == 128K.  */
   { "avr51",                ARCH_AVR51, NULL,                       0, 0x0100, "m128" },
   { "atmega128",            ARCH_AVR51, "__AVR_ATmega128__",        0, 0x0100, "m128" },
@@ -190,9 +234,6 @@ const struct mcu_type_s avr_mcu_types[] 
   { "at90can128",           ARCH_AVR51, "__AVR_AT90CAN128__",       0, 0x0100, "can128" },
   { "at90usb1286",          ARCH_AVR51, "__AVR_AT90USB1286__",      0, 0x0100, "usb1286" },
   { "at90usb1287",          ARCH_AVR51, "__AVR_AT90USB1287__",      0, 0x0100, "usb1286" },
-  { "m3000f",               ARCH_AVR51, "__AVR_M3000F__",           0, 0x1000, "m3000f" },
-  { "m3000s",               ARCH_AVR51, "__AVR_M3000S__",           0, 0x1000, "m3000f" },
-  { "m3001b",               ARCH_AVR51, "__AVR_M3001B__",           0, 0x1000, "m3000f" },
     /* 3-Byte PC.  */
   { "avr6",                 ARCH_AVR6, NULL,                        0, 0x0200, "m2561" },
   { "atmega2560",           ARCH_AVR6, "__AVR_ATmega2560__",        0, 0x0200, "m2561" },
@@ -220,11 +261,13 @@ const struct mcu_type_s avr_mcu_types[] 
     /* Xmega, > 128K, <= 256K FLASH, <= 64K RAM.  */
   { "avrxmega6",    ARCH_AVRXMEGA6, NULL,                           0, 0x2000, "x128a3" },
   { "atxmega128a3", ARCH_AVRXMEGA6, "__AVR_ATxmega128A3__",         0, 0x2000, "x128a3" },
+  { "atxmega128b1", ARCH_AVRXMEGA6, "__AVR_ATxmega128B1__",         0, 0x2000, "x128b1" },
   { "atxmega128d3", ARCH_AVRXMEGA6, "__AVR_ATxmega128D3__",         0, 0x2000, "x128d3" },
   { "atxmega192a3", ARCH_AVRXMEGA6, "__AVR_ATxmega192A3__",         0, 0x2000, "x192a3" },
   { "atxmega192d3", ARCH_AVRXMEGA6, "__AVR_ATxmega192D3__",         0, 0x2000, "x192d3" },
   { "atxmega256a3", ARCH_AVRXMEGA6, "__AVR_ATxmega256A3__",         0, 0x2000, "x256a3" },
   { "atxmega256a3b",ARCH_AVRXMEGA6, "__AVR_ATxmega256A3B__",        0, 0x2000, "x256a3b" },
+  { "atxmega256a3bu", ARCH_AVRXMEGA6, "__AVR_ATxmega256A3BU__",     0, 0x2000, "x256a3bu" },
   { "atxmega256d3", ARCH_AVRXMEGA6, "__AVR_ATxmega256D3__",         0, 0x2000, "x256d3" },
     /* Xmega, > 128K, <= 256K FLASH, > 64K RAM.  */
   { "avrxmega7",    ARCH_AVRXMEGA7, NULL,                           0, 0x2000, "x128a1" },
diff -Naurp gcc/config/avr/t-avr gcc/config/avr/t-avr
--- gcc/config/avr/t-avr    2011-02-07 14:19:27.000000000 -0600
+++ gcc/config/avr/t-avr    2011-02-07 14:23:58.000000000 -0600
@@ -116,16 +116,28 @@ MULTILIB_MATCHES = \
    mmcu?avr25=mmcu?attiny13 \
    mmcu?avr25=mmcu?attiny13a \
    mmcu?avr25=mmcu?attiny2313 \
+   mmcu?avr25=mmcu?attiny2313a \
    mmcu?avr25=mmcu?attiny24 \
+   mmcu?avr25=mmcu?attiny24a \
    mmcu?avr25=mmcu?attiny44 \
+   mmcu?avr25=mmcu?attiny44a \
+   mmcu?avr25=mmcu?attiny45 \
    mmcu?avr25=mmcu?attiny84 \
+   mmcu?avr25=mmcu?attiny84a \
    mmcu?avr25=mmcu?attiny25 \
    mmcu?avr25=mmcu?attiny45 \
    mmcu?avr25=mmcu?attiny85 \
    mmcu?avr25=mmcu?attiny261 \
+   mmcu?avr25=mmcu?attiny261a \
+   mmcu?avr25=mmcu?attiny4313 \
    mmcu?avr25=mmcu?attiny461 \
+   mmcu?avr25=mmcu?attiny461a \
    mmcu?avr25=mmcu?attiny861 \
    mmcu?avr25=mmcu?attiny43u \
+   mmcu?avr25=mmcu?attiny84 \
+   mmcu?avr25=mmcu?attiny85 \
+   mmcu?avr25=mmcu?attiny861 \
+   mmcu?avr25=mmcu?attiny861a \
    mmcu?avr25=mmcu?attiny87 \
    mmcu?avr25=mmcu?attiny48 \
    mmcu?avr25=mmcu?attiny88 \
@@ -140,65 +152,90 @@ MULTILIB_MATCHES = \
    mmcu?avr35=mmcu?atmega16u2 \
    mmcu?avr35=mmcu?atmega32u2 \
    mmcu?avr35=mmcu?attiny167 \
-   mmcu?avr35=mmcu?attiny327 \
    mmcu?avr4=mmcu?atmega48 \
+   mmcu?avr4=mmcu?atmega48a \
    mmcu?avr4=mmcu?atmega48p \
    mmcu?avr4=mmcu?atmega8 \
    mmcu?avr4=mmcu?atmega8515 \
    mmcu?avr4=mmcu?atmega8535 \
    mmcu?avr4=mmcu?atmega88 \
+   mmcu?avr4=mmcu?atmega88a \
    mmcu?avr4=mmcu?atmega88p \
+   mmcu?avr4=mmcu?atmega88pa \
    mmcu?avr4=mmcu?atmega8hva \
-   mmcu?avr4=mmcu?atmega4hvd \
-   mmcu?avr4=mmcu?atmega8hvd \
-   mmcu?avr4=mmcu?atmega8c1 \
-   mmcu?avr4=mmcu?atmega8m1 \
    mmcu?avr4=mmcu?at90pwm1 \
    mmcu?avr4=mmcu?at90pwm2 \
    mmcu?avr4=mmcu?at90pwm2b \
    mmcu?avr4=mmcu?at90pwm3 \
    mmcu?avr4=mmcu?at90pwm3b \
    mmcu?avr4=mmcu?at90pwm81 \
+   mmcu?avr5=mmcu?at90pwm161 \
    mmcu?avr5=mmcu?atmega16 \
+   mmcu?avr5=mmcu?atmega16a \
    mmcu?avr5=mmcu?atmega161 \
    mmcu?avr5=mmcu?atmega162 \
    mmcu?avr5=mmcu?atmega163 \
+   mmcu?avr5=mmcu?atmega164a \
    mmcu?avr5=mmcu?atmega164p \
    mmcu?avr5=mmcu?atmega165 \
+   mmcu?avr5=mmcu?atmega165a \
    mmcu?avr5=mmcu?atmega165p \
    mmcu?avr5=mmcu?atmega168 \
+   mmcu?avr5=mmcu?atmega168a \
    mmcu?avr5=mmcu?atmega168p \
    mmcu?avr5=mmcu?atmega169 \
+   mmcu?avr5=mmcu?atmega169a \
    mmcu?avr5=mmcu?atmega169p \
+   mmcu?avr5=mmcu?atmega169pa \
    mmcu?avr5=mmcu?atmega32 \
    mmcu?avr5=mmcu?atmega323 \
+   mmcu?avr5=mmcu?atmega324a \
    mmcu?avr5=mmcu?atmega324p \
+   mmcu?avr5=mmcu?atmega324pa \
    mmcu?avr5=mmcu?atmega325 \
+   mmcu?avr5=mmcu?atmega325a \
    mmcu?avr5=mmcu?atmega325p \
    mmcu?avr5=mmcu?atmega3250 \
+   mmcu?avr5=mmcu?atmega3250a \
    mmcu?avr5=mmcu?atmega3250p \
+   mmcu?avr5=mmcu?atmega328 \
    mmcu?avr5=mmcu?atmega328p \
    mmcu?avr5=mmcu?atmega329 \
+   mmcu?avr5=mmcu?atmega329a \
    mmcu?avr5=mmcu?atmega329p \
+   mmcu?avr5=mmcu?atmega329pa \
    mmcu?avr5=mmcu?atmega3290 \
+   mmcu?avr5=mmcu?atmega3290a \
    mmcu?avr5=mmcu?atmega3290p \
    mmcu?avr5=mmcu?atmega406 \
    mmcu?avr5=mmcu?atmega64  \
    mmcu?avr5=mmcu?atmega640 \
    mmcu?avr5=mmcu?atmega644 \
+   mmcu?avr5=mmcu?atmega644a \
    mmcu?avr5=mmcu?atmega644p \
+   mmcu?avr5=mmcu?atmega644pa \
    mmcu?avr5=mmcu?atmega645 \
+   mmcu?avr5=mmcu?atmega645a \
+   mmcu?avr5=mmcu?atmega645p \
    mmcu?avr5=mmcu?atmega6450 \
+   mmcu?avr5=mmcu?atmega6450a \
+   mmcu?avr5=mmcu?atmega6450p \
    mmcu?avr5=mmcu?atmega649 \
+   mmcu?avr5=mmcu?atmega649a \
+   mmcu?avr5=mmcu?atmega649p \
    mmcu?avr5=mmcu?atmega6490 \
+   mmcu?avr5=mmcu?atmega6490a \
+   mmcu?avr5=mmcu?atmega6490p \
    mmcu?avr5=mmcu?atmega16hva \
+   mmcu?avr5=mmcu?atmega16hva2 \
    mmcu?avr5=mmcu?atmega16hvb \
+   mmcu?avr5=mmcu?atmega16hvbrevb \
    mmcu?avr5=mmcu?atmega32hvb \
+   mmcu?avr5=mmcu?atmega32hvbrevb \
    mmcu?avr5=mmcu?at90can32 \
    mmcu?avr5=mmcu?at90can64 \
    mmcu?avr5=mmcu?at90pwm216 \
    mmcu?avr5=mmcu?at90pwm316 \
-   mmcu?avr5=mmcu?atmega16c1 \
    mmcu?avr5=mmcu?atmega32c1 \
    mmcu?avr5=mmcu?atmega64c1 \
    mmcu?avr5=mmcu?atmega16m1 \
@@ -207,6 +244,7 @@ MULTILIB_MATCHES = \
    mmcu?avr5=mmcu?atmega16u4 \
    mmcu?avr5=mmcu?atmega32u4 \
    mmcu?avr5=mmcu?atmega32u6 \
+   mmcu?avr5=mmcu?atmega64hve \
    mmcu?avr5=mmcu?at90scr100 \
    mmcu?avr5=mmcu?at90usb646 \
    mmcu?avr5=mmcu?at90usb647 \
@@ -219,9 +257,7 @@ MULTILIB_MATCHES = \
    mmcu?avr51=mmcu?at90can128 \
    mmcu?avr51=mmcu?at90usb1286 \
    mmcu?avr51=mmcu?at90usb1287 \
-   mmcu?avr51=mmcu?m3000f \
-   mmcu?avr51=mmcu?m3000s \
-   mmcu?avr51=mmcu?m3001b \
+   mmcu?avr51=mmcu?m3000 \
    mmcu?avr6=mmcu?atmega2560 \
    mmcu?avr6=mmcu?atmega2561 \
    mmcu?avrxmega2=mmcu?atxmega16a4 \
@@ -235,11 +271,13 @@ MULTILIB_MATCHES = \
    mmcu?avrxmega5=mmcu?atxmega64a1 \
    mmcu?avrxmega5=mmcu?atxmega64a1u \
    mmcu?avrxmega6=mmcu?atxmega128a3 \
+   mmcu?avrxmega6=mmcu?atxmega128b1 \
    mmcu?avrxmega6=mmcu?atxmega128d3 \
    mmcu?avrxmega6=mmcu?atxmega192a3 \
    mmcu?avrxmega6=mmcu?atxmega192d3 \
    mmcu?avrxmega6=mmcu?atxmega256a3 \
    mmcu?avrxmega6=mmcu?atxmega256a3b \
+   mmcu?avrxmega6=mmcu?atxmega256a3bu \
    mmcu?avrxmega6=mmcu?atxmega256d3 \
    mmcu?avrxmega7=mmcu?atxmega128a1 \
    mmcu?avrxmega7=mmcu?atxmega128a1u \