Skip to content

Commit dac4379

Browse files
committed
Add missing avr64* series
1 parent c4e8732 commit dac4379

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed

clang/lib/Basic/Targets/AVR.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,27 @@ static MCUInfo AVRMcus[] = {
350350

351351
// gcc 14 additions:
352352

353+
{"avr64da28", "__AVR_AVR64DA28__", "102", 1},
354+
{"avr64da32", "__AVR_AVR64DA32__", "102", 1},
355+
{"avr64da48", "__AVR_AVR64DA48__", "102", 1},
356+
{"avr64da64", "__AVR_AVR64DA64__", "102", 1},
357+
{"avr64db28", "__AVR_AVR64DB28__", "102", 1},
358+
{"avr64db32", "__AVR_AVR64DB32__", "102", 1},
359+
{"avr64db48", "__AVR_AVR64DB48__", "102", 1},
360+
{"avr64db64", "__AVR_AVR64DB64__", "102", 1},
361+
{"avr64dd14", "__AVR_AVR64DD14__", "102", 1},
362+
{"avr64dd20", "__AVR_AVR64DD20__", "102", 1},
363+
{"avr64dd28", "__AVR_AVR64DD28__", "102", 1},
364+
{"avr64dd32", "__AVR_AVR64DD32__", "102", 1},
365+
{"avr64du28", "__AVR_AVR64DU28__", "102", 1},
366+
{"avr64du32", "__AVR_AVR64DU32__", "102", 1},
367+
{"avr64ea28", "__AVR_AVR64EA28__", "102", 1},
368+
{"avr64ea32", "__AVR_AVR64EA32__", "102", 1},
369+
{"avr64ea48", "__AVR_AVR64EA48__", "102", 1},
370+
{"avr64sd28", "__AVR_AVR64SD28__", "102", 1},
371+
{"avr64sd32", "__AVR_AVR64SD32__", "102", 1},
372+
{"avr64sd48", "__AVR_AVR64SD48__", "102", 1},
373+
353374
{"avr16dd20", "__AVR_AVR16DD20__", "103", 1},
354375
{"avr16dd28", "__AVR_AVR16DD28__", "103", 1},
355376
{"avr16dd32", "__AVR_AVR16DD32__", "103", 1},

clang/lib/Driver/ToolChains/AVR.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,27 @@ constexpr struct {
334334

335335
// gcc 14 additions:
336336

337+
{"avr64da28", "avrxmega2", "avrxmega2", 0x806000},
338+
{"avr64da32", "avrxmega2", "avrxmega2", 0x806000},
339+
{"avr64da48", "avrxmega2", "avrxmega2", 0x806000},
340+
{"avr64da64", "avrxmega2", "avrxmega2", 0x806000},
341+
{"avr64db28", "avrxmega2", "avrxmega2", 0x806000},
342+
{"avr64db32", "avrxmega2", "avrxmega2", 0x806000},
343+
{"avr64db48", "avrxmega2", "avrxmega2", 0x806000},
344+
{"avr64db64", "avrxmega2", "avrxmega2", 0x806000},
345+
{"avr64dd14", "avrxmega2", "avrxmega2", 0x806000},
346+
{"avr64dd20", "avrxmega2", "avrxmega2", 0x806000},
347+
{"avr64dd28", "avrxmega2", "avrxmega2", 0x806000},
348+
{"avr64dd32", "avrxmega2", "avrxmega2", 0x806000},
349+
{"avr64du28", "avrxmega2", "avrxmega2", 0x806000},
350+
{"avr64du32", "avrxmega2", "avrxmega2", 0x806000},
351+
{"avr64ea28", "avrxmega2", "avrxmega2", 0x806800},
352+
{"avr64ea32", "avrxmega2", "avrxmega2", 0x806800},
353+
{"avr64ea48", "avrxmega2", "avrxmega2", 0x806800},
354+
{"avr64sd28", "avrxmega2", "avrxmega2", 0x806000},
355+
{"avr64sd32", "avrxmega2", "avrxmega2", 0x806000},
356+
{"avr64sd48", "avrxmega2", "avrxmega2", 0x806000},
357+
337358
{"avr16dd20", "avrxmega3", "avrxmega3", 0x807800},
338359
{"avr16dd28", "avrxmega3", "avrxmega3", 0x807800},
339360
{"avr16dd32", "avrxmega3", "avrxmega3", 0x807800},

llvm/lib/Target/AVR/AVRDevices.td

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,27 @@ def : Device<"atmega4809", FamilyXMEGA3, ELFArchXMEGA3>;
588588

589589
// Additions from gcc 14:
590590

591+
def : Device<"avr64da28", FamilyXMEGA2, ELFArchXMEGA2>;
592+
def : Device<"avr64da32", FamilyXMEGA2, ELFArchXMEGA2>;
593+
def : Device<"avr64da48", FamilyXMEGA2, ELFArchXMEGA2>;
594+
def : Device<"avr64da64", FamilyXMEGA2, ELFArchXMEGA2>;
595+
def : Device<"avr64db28", FamilyXMEGA2, ELFArchXMEGA2>;
596+
def : Device<"avr64db32", FamilyXMEGA2, ELFArchXMEGA2>;
597+
def : Device<"avr64db48", FamilyXMEGA2, ELFArchXMEGA2>;
598+
def : Device<"avr64db64", FamilyXMEGA2, ELFArchXMEGA2>;
599+
def : Device<"avr64dd14", FamilyXMEGA2, ELFArchXMEGA2>;
600+
def : Device<"avr64dd20", FamilyXMEGA2, ELFArchXMEGA2>;
601+
def : Device<"avr64dd28", FamilyXMEGA2, ELFArchXMEGA2>;
602+
def : Device<"avr64dd32", FamilyXMEGA2, ELFArchXMEGA2>;
603+
def : Device<"avr64du28", FamilyXMEGA2, ELFArchXMEGA2>;
604+
def : Device<"avr64du32", FamilyXMEGA2, ELFArchXMEGA2>;
605+
def : Device<"avr64ea28", FamilyXMEGA2, ELFArchXMEGA2>;
606+
def : Device<"avr64ea32", FamilyXMEGA2, ELFArchXMEGA2>;
607+
def : Device<"avr64ea48", FamilyXMEGA2, ELFArchXMEGA2>;
608+
def : Device<"avr64sd28", FamilyXMEGA2, ELFArchXMEGA2>;
609+
def : Device<"avr64sd32", FamilyXMEGA2, ELFArchXMEGA2>;
610+
def : Device<"avr64sd48", FamilyXMEGA2, ELFArchXMEGA2>;
611+
591612
def : Device<"avr16dd20", FamilyXMEGA3, ELFArchXMEGA3>;
592613
def : Device<"avr16dd28", FamilyXMEGA3, ELFArchXMEGA3>;
593614
def : Device<"avr16dd32", FamilyXMEGA3, ELFArchXMEGA3>;

0 commit comments

Comments
 (0)