From 076a8d915bea098d168226e607e8d526c4435082 Mon Sep 17 00:00:00 2001 From: Ben Shi Date: Thu, 29 Oct 2020 10:54:17 +0800 Subject: [PATCH] [NFC][AVR] Improve device list Reviewed By: dylanmckay https://reviews.llvm.org/D87968 --- llvm/lib/Target/AVR/AVRDevices.td | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Target/AVR/AVRDevices.td b/llvm/lib/Target/AVR/AVRDevices.td index cf5c5ad..9507aa4 100644 --- a/llvm/lib/Target/AVR/AVRDevices.td +++ b/llvm/lib/Target/AVR/AVRDevices.td @@ -195,7 +195,7 @@ def FamilyAVR6 : Family<"avr6", def FamilyTiny : Family<"avrtiny", [FamilyAVR0, FeatureBREAK, FeatureSRAM, - FeatureTinyEncoding, FeatureMMR]>; + FeatureTinyEncoding]>; def FamilyXMEGA : Family<"xmega", [FamilyAVR0, FeatureLPM, FeatureIJMPCALL, FeatureADDSUBIW, @@ -309,19 +309,23 @@ def : Device<"atmega8u2", FamilyAVR35, ELFArchAVR35>; def : Device<"atmega16u2", FamilyAVR35, ELFArchAVR35>; def : Device<"atmega32u2", FamilyAVR35, ELFArchAVR35>; def : Device<"attiny1634", FamilyAVR35, ELFArchAVR35>; -def : Device<"atmega8", FamilyAVR4, ELFArchAVR4>; // FIXME: family may be wrong +def : Device<"atmega8", FamilyAVR2, ELFArchAVR4, + [FeatureMultiplication, FeatureMOVW, FeatureLPMX, FeatureSPM]>; def : Device<"ata6289", FamilyAVR4, ELFArchAVR4>; -def : Device<"atmega8a", FamilyAVR4, ELFArchAVR4>; +def : Device<"atmega8a", FamilyAVR2, ELFArchAVR4, + [FeatureMultiplication, FeatureMOVW, FeatureLPMX, FeatureSPM]>; def : Device<"ata6285", FamilyAVR4, ELFArchAVR4>; def : Device<"ata6286", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega48", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega48a", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega48pa", FamilyAVR4, ELFArchAVR4>; +def : Device<"atmega48pb", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega48p", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega88", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega88a", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega88p", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega88pa", FamilyAVR4, ELFArchAVR4>; +def : Device<"atmega88pb", FamilyAVR4, ELFArchAVR4>; def : Device<"atmega8515", FamilyAVR2, ELFArchAVR4, [FeatureMultiplication, FeatureMOVW, FeatureLPMX, FeatureSPM]>; def : Device<"atmega8535", FamilyAVR2, ELFArchAVR4, @@ -353,6 +357,7 @@ def : Device<"atmega168", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega168a", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega168p", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega168pa", FamilyAVR5, ELFArchAVR5>; +def : Device<"atmega168pb", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega169", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega169a", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega169p", FamilyAVR5, ELFArchAVR5>; @@ -363,6 +368,7 @@ def : Device<"atmega323", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega324a", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega324p", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega324pa", FamilyAVR5, ELFArchAVR5>; +def : Device<"atmega324pb", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega325", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega325a", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega325p", FamilyAVR5, ELFArchAVR5>; @@ -373,6 +379,7 @@ def : Device<"atmega3250p", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega3250pa", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega328", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega328p", FamilyAVR5, ELFArchAVR5>; +def : Device<"atmega328pb", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega329", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega329a", FamilyAVR5, ELFArchAVR5>; def : Device<"atmega329p", FamilyAVR5, ELFArchAVR5>; @@ -453,9 +460,9 @@ def : Device<"atxmega32a4", FamilyXMEGA, ELFArchXMEGA2>; def : Device<"atxmega32a4u", FamilyXMEGAU, ELFArchXMEGA2>; def : Device<"atxmega32c4", FamilyXMEGAU, ELFArchXMEGA2>; def : Device<"atxmega32d4", FamilyXMEGA, ELFArchXMEGA2>; -def : Device<"atxmega32e5", FamilyXMEGA, ELFArchXMEGA2>; -def : Device<"atxmega16e5", FamilyXMEGA, ELFArchXMEGA2>; -def : Device<"atxmega8e5", FamilyXMEGA, ELFArchXMEGA2>; +def : Device<"atxmega32e5", FamilyXMEGAU, ELFArchXMEGA2>; +def : Device<"atxmega16e5", FamilyXMEGAU, ELFArchXMEGA2>; +def : Device<"atxmega8e5", FamilyXMEGAU, ELFArchXMEGA2>; def : Device<"atxmega32x1", FamilyXMEGA, ELFArchXMEGA2>; def : Device<"atxmega64a3", FamilyXMEGA, ELFArchXMEGA4>; def : Device<"atxmega64a3u", FamilyXMEGAU, ELFArchXMEGA4>; -- 2.7.4