3864 lines
89 KiB
Zig
3864 lines
89 KiB
Zig
const feature = @import("std").target.feature;
|
|
const CpuInfo = @import("std").target.cpu.CpuInfo;
|
|
|
|
pub const AvrCpu = enum {
|
|
At43usb320,
|
|
At43usb355,
|
|
At76c711,
|
|
At86rf401,
|
|
At90c8534,
|
|
At90can128,
|
|
At90can32,
|
|
At90can64,
|
|
At90pwm1,
|
|
At90pwm161,
|
|
At90pwm2,
|
|
At90pwm216,
|
|
At90pwm2b,
|
|
At90pwm3,
|
|
At90pwm316,
|
|
At90pwm3b,
|
|
At90pwm81,
|
|
At90s1200,
|
|
At90s2313,
|
|
At90s2323,
|
|
At90s2333,
|
|
At90s2343,
|
|
At90s4414,
|
|
At90s4433,
|
|
At90s4434,
|
|
At90s8515,
|
|
At90s8535,
|
|
At90scr100,
|
|
At90usb1286,
|
|
At90usb1287,
|
|
At90usb162,
|
|
At90usb646,
|
|
At90usb647,
|
|
At90usb82,
|
|
At94k,
|
|
Ata5272,
|
|
Ata5505,
|
|
Ata5790,
|
|
Ata5795,
|
|
Ata6285,
|
|
Ata6286,
|
|
Ata6289,
|
|
Atmega103,
|
|
Atmega128,
|
|
Atmega1280,
|
|
Atmega1281,
|
|
Atmega1284,
|
|
Atmega1284p,
|
|
Atmega1284rfr2,
|
|
Atmega128a,
|
|
Atmega128rfa1,
|
|
Atmega128rfr2,
|
|
Atmega16,
|
|
Atmega161,
|
|
Atmega162,
|
|
Atmega163,
|
|
Atmega164a,
|
|
Atmega164p,
|
|
Atmega164pa,
|
|
Atmega165,
|
|
Atmega165a,
|
|
Atmega165p,
|
|
Atmega165pa,
|
|
Atmega168,
|
|
Atmega168a,
|
|
Atmega168p,
|
|
Atmega168pa,
|
|
Atmega169,
|
|
Atmega169a,
|
|
Atmega169p,
|
|
Atmega169pa,
|
|
Atmega16a,
|
|
Atmega16hva,
|
|
Atmega16hva2,
|
|
Atmega16hvb,
|
|
Atmega16hvbrevb,
|
|
Atmega16m1,
|
|
Atmega16u2,
|
|
Atmega16u4,
|
|
Atmega2560,
|
|
Atmega2561,
|
|
Atmega2564rfr2,
|
|
Atmega256rfr2,
|
|
Atmega32,
|
|
Atmega323,
|
|
Atmega324a,
|
|
Atmega324p,
|
|
Atmega324pa,
|
|
Atmega325,
|
|
Atmega3250,
|
|
Atmega3250a,
|
|
Atmega3250p,
|
|
Atmega3250pa,
|
|
Atmega325a,
|
|
Atmega325p,
|
|
Atmega325pa,
|
|
Atmega328,
|
|
Atmega328p,
|
|
Atmega329,
|
|
Atmega3290,
|
|
Atmega3290a,
|
|
Atmega3290p,
|
|
Atmega3290pa,
|
|
Atmega329a,
|
|
Atmega329p,
|
|
Atmega329pa,
|
|
Atmega32a,
|
|
Atmega32c1,
|
|
Atmega32hvb,
|
|
Atmega32hvbrevb,
|
|
Atmega32m1,
|
|
Atmega32u2,
|
|
Atmega32u4,
|
|
Atmega32u6,
|
|
Atmega406,
|
|
Atmega48,
|
|
Atmega48a,
|
|
Atmega48p,
|
|
Atmega48pa,
|
|
Atmega64,
|
|
Atmega640,
|
|
Atmega644,
|
|
Atmega644a,
|
|
Atmega644p,
|
|
Atmega644pa,
|
|
Atmega644rfr2,
|
|
Atmega645,
|
|
Atmega6450,
|
|
Atmega6450a,
|
|
Atmega6450p,
|
|
Atmega645a,
|
|
Atmega645p,
|
|
Atmega649,
|
|
Atmega6490,
|
|
Atmega6490a,
|
|
Atmega6490p,
|
|
Atmega649a,
|
|
Atmega649p,
|
|
Atmega64a,
|
|
Atmega64c1,
|
|
Atmega64hve,
|
|
Atmega64m1,
|
|
Atmega64rfr2,
|
|
Atmega8,
|
|
Atmega8515,
|
|
Atmega8535,
|
|
Atmega88,
|
|
Atmega88a,
|
|
Atmega88p,
|
|
Atmega88pa,
|
|
Atmega8a,
|
|
Atmega8hva,
|
|
Atmega8u2,
|
|
Attiny10,
|
|
Attiny102,
|
|
Attiny104,
|
|
Attiny11,
|
|
Attiny12,
|
|
Attiny13,
|
|
Attiny13a,
|
|
Attiny15,
|
|
Attiny1634,
|
|
Attiny167,
|
|
Attiny20,
|
|
Attiny22,
|
|
Attiny2313,
|
|
Attiny2313a,
|
|
Attiny24,
|
|
Attiny24a,
|
|
Attiny25,
|
|
Attiny26,
|
|
Attiny261,
|
|
Attiny261a,
|
|
Attiny28,
|
|
Attiny4,
|
|
Attiny40,
|
|
Attiny4313,
|
|
Attiny43u,
|
|
Attiny44,
|
|
Attiny44a,
|
|
Attiny45,
|
|
Attiny461,
|
|
Attiny461a,
|
|
Attiny48,
|
|
Attiny5,
|
|
Attiny828,
|
|
Attiny84,
|
|
Attiny84a,
|
|
Attiny85,
|
|
Attiny861,
|
|
Attiny861a,
|
|
Attiny87,
|
|
Attiny88,
|
|
Attiny9,
|
|
Atxmega128a1,
|
|
Atxmega128a1u,
|
|
Atxmega128a3,
|
|
Atxmega128a3u,
|
|
Atxmega128a4u,
|
|
Atxmega128b1,
|
|
Atxmega128b3,
|
|
Atxmega128c3,
|
|
Atxmega128d3,
|
|
Atxmega128d4,
|
|
Atxmega16a4,
|
|
Atxmega16a4u,
|
|
Atxmega16c4,
|
|
Atxmega16d4,
|
|
Atxmega16e5,
|
|
Atxmega192a3,
|
|
Atxmega192a3u,
|
|
Atxmega192c3,
|
|
Atxmega192d3,
|
|
Atxmega256a3,
|
|
Atxmega256a3b,
|
|
Atxmega256a3bu,
|
|
Atxmega256a3u,
|
|
Atxmega256c3,
|
|
Atxmega256d3,
|
|
Atxmega32a4,
|
|
Atxmega32a4u,
|
|
Atxmega32c4,
|
|
Atxmega32d4,
|
|
Atxmega32e5,
|
|
Atxmega32x1,
|
|
Atxmega384c3,
|
|
Atxmega384d3,
|
|
Atxmega64a1,
|
|
Atxmega64a1u,
|
|
Atxmega64a3,
|
|
Atxmega64a3u,
|
|
Atxmega64a4u,
|
|
Atxmega64b1,
|
|
Atxmega64b3,
|
|
Atxmega64c3,
|
|
Atxmega64d3,
|
|
Atxmega64d4,
|
|
Atxmega8e5,
|
|
Avr1,
|
|
Avr2,
|
|
Avr25,
|
|
Avr3,
|
|
Avr31,
|
|
Avr35,
|
|
Avr4,
|
|
Avr5,
|
|
Avr51,
|
|
Avr6,
|
|
Avrtiny,
|
|
Avrxmega1,
|
|
Avrxmega2,
|
|
Avrxmega3,
|
|
Avrxmega4,
|
|
Avrxmega5,
|
|
Avrxmega6,
|
|
Avrxmega7,
|
|
M3000,
|
|
|
|
const FeatureType = feature.AvrFeature;
|
|
|
|
pub fn getInfo(self: @This()) CpuInfo(@This(), FeatureType) {
|
|
return cpu_infos[@enumToInt(self)];
|
|
}
|
|
|
|
pub const cpu_infos = [@memberCount(@This())]CpuInfo(@This(), FeatureType) {
|
|
CpuInfo(@This(), FeatureType).create(.At43usb320, "at43usb320", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr31,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At43usb355, "at43usb355", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr3,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At76c711, "at76c711", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr3,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At86rf401, "at86rf401", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
.Lpmx,
|
|
.Movw,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90c8534, "at90c8534", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90can128, "at90can128", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90can32, "at90can32", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90can64, "at90can64", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm1, "at90pwm1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm161, "at90pwm161", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm2, "at90pwm2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm216, "at90pwm216", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm2b, "at90pwm2b", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm3, "at90pwm3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm316, "at90pwm316", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm3b, "at90pwm3b", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90pwm81, "at90pwm81", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s1200, "at90s1200", &[_]FeatureType {
|
|
.Avr0,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s2313, "at90s2313", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s2323, "at90s2323", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s2333, "at90s2333", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s2343, "at90s2343", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s4414, "at90s4414", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s4433, "at90s4433", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s4434, "at90s4434", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s8515, "at90s8515", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90s8535, "at90s8535", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90scr100, "at90scr100", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90usb1286, "at90usb1286", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90usb1287, "at90usb1287", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90usb162, "at90usb162", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90usb646, "at90usb646", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90usb647, "at90usb647", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At90usb82, "at90usb82", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.At94k, "at94k", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr3,
|
|
.Lpmx,
|
|
.Movw,
|
|
.Mul,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Ata5272, "ata5272", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Ata5505, "ata5505", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Ata5790, "ata5790", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Ata5795, "ata5795", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Ata6285, "ata6285", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Ata6286, "ata6286", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Ata6289, "ata6289", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega103, "atmega103", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr31,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega128, "atmega128", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega1280, "atmega1280", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega1281, "atmega1281", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega1284, "atmega1284", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega1284p, "atmega1284p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega1284rfr2, "atmega1284rfr2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega128a, "atmega128a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega128rfa1, "atmega128rfa1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega128rfr2, "atmega128rfr2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16, "atmega16", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega161, "atmega161", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr3,
|
|
.Lpmx,
|
|
.Movw,
|
|
.Mul,
|
|
.Spm,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega162, "atmega162", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega163, "atmega163", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr3,
|
|
.Lpmx,
|
|
.Movw,
|
|
.Mul,
|
|
.Spm,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega164a, "atmega164a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega164p, "atmega164p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega164pa, "atmega164pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega165, "atmega165", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega165a, "atmega165a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega165p, "atmega165p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega165pa, "atmega165pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega168, "atmega168", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega168a, "atmega168a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega168p, "atmega168p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega168pa, "atmega168pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega169, "atmega169", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega169a, "atmega169a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega169p, "atmega169p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega169pa, "atmega169pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16a, "atmega16a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16hva, "atmega16hva", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16hva2, "atmega16hva2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16hvb, "atmega16hvb", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16hvbrevb, "atmega16hvbrevb", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16m1, "atmega16m1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16u2, "atmega16u2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega16u4, "atmega16u4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega2560, "atmega2560", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr6,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega2561, "atmega2561", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr6,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega2564rfr2, "atmega2564rfr2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr6,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega256rfr2, "atmega256rfr2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr6,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32, "atmega32", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega323, "atmega323", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega324a, "atmega324a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega324p, "atmega324p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega324pa, "atmega324pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega325, "atmega325", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega3250, "atmega3250", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega3250a, "atmega3250a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega3250p, "atmega3250p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega3250pa, "atmega3250pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega325a, "atmega325a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega325p, "atmega325p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega325pa, "atmega325pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega328, "atmega328", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega328p, "atmega328p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega329, "atmega329", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega3290, "atmega3290", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega3290a, "atmega3290a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega3290p, "atmega3290p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega3290pa, "atmega3290pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega329a, "atmega329a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega329p, "atmega329p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega329pa, "atmega329pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32a, "atmega32a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32c1, "atmega32c1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32hvb, "atmega32hvb", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32hvbrevb, "atmega32hvbrevb", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32m1, "atmega32m1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32u2, "atmega32u2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32u4, "atmega32u4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega32u6, "atmega32u6", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega406, "atmega406", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega48, "atmega48", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega48a, "atmega48a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega48p, "atmega48p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega48pa, "atmega48pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega64, "atmega64", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega640, "atmega640", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega644, "atmega644", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega644a, "atmega644a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega644p, "atmega644p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega644pa, "atmega644pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega644rfr2, "atmega644rfr2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega645, "atmega645", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega6450, "atmega6450", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega6450a, "atmega6450a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega6450p, "atmega6450p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega645a, "atmega645a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega645p, "atmega645p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega649, "atmega649", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega6490, "atmega6490", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega6490a, "atmega6490a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega6490p, "atmega6490p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega649a, "atmega649a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega649p, "atmega649p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega64a, "atmega64a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega64c1, "atmega64c1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega64hve, "atmega64hve", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega64m1, "atmega64m1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega64rfr2, "atmega64rfr2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega8, "atmega8", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega8515, "atmega8515", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
.Lpmx,
|
|
.Movw,
|
|
.Mul,
|
|
.Spm,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega8535, "atmega8535", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
.Lpmx,
|
|
.Movw,
|
|
.Mul,
|
|
.Spm,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega88, "atmega88", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega88a, "atmega88a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega88p, "atmega88p", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega88pa, "atmega88pa", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega8a, "atmega8a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega8hva, "atmega8hva", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atmega8u2, "atmega8u2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny10, "attiny10", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny102, "attiny102", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny104, "attiny104", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny11, "attiny11", &[_]FeatureType {
|
|
.Avr0,
|
|
.Lpm,
|
|
.Avr1,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny12, "attiny12", &[_]FeatureType {
|
|
.Avr0,
|
|
.Lpm,
|
|
.Avr1,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny13, "attiny13", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny13a, "attiny13a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny15, "attiny15", &[_]FeatureType {
|
|
.Avr0,
|
|
.Lpm,
|
|
.Avr1,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny1634, "attiny1634", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny167, "attiny167", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny20, "attiny20", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny22, "attiny22", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny2313, "attiny2313", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny2313a, "attiny2313a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny24, "attiny24", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny24a, "attiny24a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny25, "attiny25", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny26, "attiny26", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
.Lpmx,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny261, "attiny261", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny261a, "attiny261a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny28, "attiny28", &[_]FeatureType {
|
|
.Avr0,
|
|
.Lpm,
|
|
.Avr1,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny4, "attiny4", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny40, "attiny40", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny4313, "attiny4313", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny43u, "attiny43u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny44, "attiny44", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny44a, "attiny44a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny45, "attiny45", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny461, "attiny461", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny461a, "attiny461a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny48, "attiny48", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny5, "attiny5", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny828, "attiny828", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny84, "attiny84", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny84a, "attiny84a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny85, "attiny85", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny861, "attiny861", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny861a, "attiny861a", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny87, "attiny87", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny88, "attiny88", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Attiny9, "attiny9", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128a1, "atxmega128a1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128a1u, "atxmega128a1u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128a3, "atxmega128a3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128a3u, "atxmega128a3u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128a4u, "atxmega128a4u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128b1, "atxmega128b1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128b3, "atxmega128b3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128c3, "atxmega128c3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128d3, "atxmega128d3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega128d4, "atxmega128d4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega16a4, "atxmega16a4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega16a4u, "atxmega16a4u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega16c4, "atxmega16c4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega16d4, "atxmega16d4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega16e5, "atxmega16e5", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega192a3, "atxmega192a3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega192a3u, "atxmega192a3u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega192c3, "atxmega192c3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega192d3, "atxmega192d3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega256a3, "atxmega256a3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega256a3b, "atxmega256a3b", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega256a3bu, "atxmega256a3bu", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega256a3u, "atxmega256a3u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega256c3, "atxmega256c3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega256d3, "atxmega256d3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega32a4, "atxmega32a4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega32a4u, "atxmega32a4u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega32c4, "atxmega32c4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega32d4, "atxmega32d4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega32e5, "atxmega32e5", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega32x1, "atxmega32x1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega384c3, "atxmega384c3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega384d3, "atxmega384d3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64a1, "atxmega64a1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64a1u, "atxmega64a1u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64a3, "atxmega64a3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64a3u, "atxmega64a3u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64a4u, "atxmega64a4u", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64b1, "atxmega64b1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64b3, "atxmega64b3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64c3, "atxmega64c3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Rmw,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmegau,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64d3, "atxmega64d3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega64d4, "atxmega64d4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Atxmega8e5, "atxmega8e5", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr1, "avr1", &[_]FeatureType {
|
|
.Avr0,
|
|
.Lpm,
|
|
.Avr1,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr2, "avr2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr2,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr25, "avr25", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr25,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr3, "avr3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr3,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr31, "avr31", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Ijmpcall,
|
|
.Avr31,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr35, "avr35", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr35,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr4, "avr4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr4,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr5, "avr5", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr51, "avr51", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr51,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avr6, "avr6", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr6,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avrtiny, "avrtiny", &[_]FeatureType {
|
|
.Avr0,
|
|
.Sram,
|
|
.Break,
|
|
.Tinyencoding,
|
|
.Avrtiny,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avrxmega1, "avrxmega1", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avrxmega2, "avrxmega2", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avrxmega3, "avrxmega3", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avrxmega4, "avrxmega4", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avrxmega5, "avrxmega5", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avrxmega6, "avrxmega6", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.Avrxmega7, "avrxmega7", &[_]FeatureType {
|
|
.Lpm,
|
|
.Elpm,
|
|
.Movw,
|
|
.Elpmx,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Eijmpcall,
|
|
.Spmx,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Des,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Xmega,
|
|
}),
|
|
CpuInfo(@This(), FeatureType).create(.M3000, "m3000", &[_]FeatureType {
|
|
.Lpm,
|
|
.Movw,
|
|
.Spm,
|
|
.Avr0,
|
|
.Sram,
|
|
.Jmpcall,
|
|
.Addsubiw,
|
|
.Mul,
|
|
.Lpmx,
|
|
.Ijmpcall,
|
|
.Break,
|
|
.Avr5,
|
|
}),
|
|
};
|
|
};
|