Index: llvm/lib/Target/AVR/AVRDevices.td =================================================================== --- llvm/lib/Target/AVR/AVRDevices.td +++ llvm/lib/Target/AVR/AVRDevices.td @@ -309,19 +309,23 @@ 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<"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>; @@ -373,6 +378,7 @@ 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>;