mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 22:04:21 +00:00
3129 lines
83 KiB
Zig
3129 lines
83 KiB
Zig
//! This file is auto-generated by tools/update_cpu_features.zig.
|
|
|
|
const std = @import("../std.zig");
|
|
const CpuFeature = std.Target.Cpu.Feature;
|
|
const CpuModel = std.Target.Cpu.Model;
|
|
|
|
pub const Feature = enum {
|
|
addsubiw,
|
|
avr0,
|
|
avr1,
|
|
avr2,
|
|
avr25,
|
|
avr3,
|
|
avr31,
|
|
avr35,
|
|
avr4,
|
|
avr5,
|
|
avr51,
|
|
avr6,
|
|
avrtiny,
|
|
@"break",
|
|
des,
|
|
eijmpcall,
|
|
elpm,
|
|
elpmx,
|
|
ijmpcall,
|
|
jmpcall,
|
|
lowbytefirst,
|
|
lpm,
|
|
lpmx,
|
|
memmappedregs,
|
|
movw,
|
|
mul,
|
|
rmw,
|
|
smallstack,
|
|
special,
|
|
spm,
|
|
spmx,
|
|
sram,
|
|
tinyencoding,
|
|
wrappingrjmp,
|
|
xmega,
|
|
xmega2,
|
|
xmega3,
|
|
xmega4,
|
|
xmegau,
|
|
};
|
|
|
|
pub const featureSet = CpuFeature.FeatureSetFns(Feature).featureSet;
|
|
pub const featureSetHas = CpuFeature.FeatureSetFns(Feature).featureSetHas;
|
|
pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
|
|
pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
|
|
|
|
pub const all_features = blk: {
|
|
const len = @typeInfo(Feature).@"enum".fields.len;
|
|
std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
|
|
var result: [len]CpuFeature = undefined;
|
|
result[@intFromEnum(Feature.addsubiw)] = .{
|
|
.llvm_name = "addsubiw",
|
|
.description = "Enable 16-bit register-immediate addition and subtraction instructions",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.avr0)] = .{
|
|
.llvm_name = "avr0",
|
|
.description = "The device is a part of the avr0 family",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.avr1)] = .{
|
|
.llvm_name = "avr1",
|
|
.description = "The device is a part of the avr1 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr0,
|
|
.lpm,
|
|
.memmappedregs,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr2)] = .{
|
|
.llvm_name = "avr2",
|
|
.description = "The device is a part of the avr2 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.addsubiw,
|
|
.avr1,
|
|
.ijmpcall,
|
|
.sram,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr25)] = .{
|
|
.llvm_name = "avr25",
|
|
.description = "The device is a part of the avr25 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.@"break",
|
|
.lpmx,
|
|
.movw,
|
|
.spm,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr3)] = .{
|
|
.llvm_name = "avr3",
|
|
.description = "The device is a part of the avr3 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.jmpcall,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr31)] = .{
|
|
.llvm_name = "avr31",
|
|
.description = "The device is a part of the avr31 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr3,
|
|
.elpm,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr35)] = .{
|
|
.llvm_name = "avr35",
|
|
.description = "The device is a part of the avr35 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr3,
|
|
.@"break",
|
|
.lpmx,
|
|
.movw,
|
|
.spm,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr4)] = .{
|
|
.llvm_name = "avr4",
|
|
.description = "The device is a part of the avr4 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.@"break",
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr5)] = .{
|
|
.llvm_name = "avr5",
|
|
.description = "The device is a part of the avr5 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr3,
|
|
.@"break",
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr51)] = .{
|
|
.llvm_name = "avr51",
|
|
.description = "The device is a part of the avr51 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr5,
|
|
.elpm,
|
|
.elpmx,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avr6)] = .{
|
|
.llvm_name = "avr6",
|
|
.description = "The device is a part of the avr6 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr51,
|
|
.eijmpcall,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.avrtiny)] = .{
|
|
.llvm_name = "avrtiny",
|
|
.description = "The device is a part of the avrtiny family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.avr0,
|
|
.@"break",
|
|
.smallstack,
|
|
.sram,
|
|
.tinyencoding,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.@"break")] = .{
|
|
.llvm_name = "break",
|
|
.description = "The device supports the `BREAK` debugging instruction",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.des)] = .{
|
|
.llvm_name = "des",
|
|
.description = "The device supports the `DES k` encryption instruction",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.eijmpcall)] = .{
|
|
.llvm_name = "eijmpcall",
|
|
.description = "The device supports the `EIJMP`/`EICALL` instructions",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.elpm)] = .{
|
|
.llvm_name = "elpm",
|
|
.description = "The device supports the ELPM instruction",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.elpmx)] = .{
|
|
.llvm_name = "elpmx",
|
|
.description = "The device supports the `ELPM Rd, Z[+]` instructions",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.ijmpcall)] = .{
|
|
.llvm_name = "ijmpcall",
|
|
.description = "The device supports `IJMP`/`ICALL`instructions",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.jmpcall)] = .{
|
|
.llvm_name = "jmpcall",
|
|
.description = "The device supports the `JMP` and `CALL` instructions",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.lowbytefirst)] = .{
|
|
.llvm_name = "lowbytefirst",
|
|
.description = "Do the low byte first when writing a 16-bit port or storing a 16-bit word",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.lpm)] = .{
|
|
.llvm_name = "lpm",
|
|
.description = "The device supports the `LPM` instruction",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.lpmx)] = .{
|
|
.llvm_name = "lpmx",
|
|
.description = "The device supports the `LPM Rd, Z[+]` instruction",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.memmappedregs)] = .{
|
|
.llvm_name = "memmappedregs",
|
|
.description = "The device has CPU registers mapped in data address space",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.movw)] = .{
|
|
.llvm_name = "movw",
|
|
.description = "The device supports the 16-bit MOVW instruction",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.mul)] = .{
|
|
.llvm_name = "mul",
|
|
.description = "The device supports the multiplication instructions",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.rmw)] = .{
|
|
.llvm_name = "rmw",
|
|
.description = "The device supports the read-write-modify instructions: XCH, LAS, LAC, LAT",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.smallstack)] = .{
|
|
.llvm_name = "smallstack",
|
|
.description = "The device has an 8-bit stack pointer",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.special)] = .{
|
|
.llvm_name = "special",
|
|
.description = "Enable use of the entire instruction set - used for debugging",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.addsubiw,
|
|
.@"break",
|
|
.des,
|
|
.eijmpcall,
|
|
.elpm,
|
|
.elpmx,
|
|
.ijmpcall,
|
|
.jmpcall,
|
|
.lpm,
|
|
.lpmx,
|
|
.memmappedregs,
|
|
.movw,
|
|
.mul,
|
|
.rmw,
|
|
.spm,
|
|
.spmx,
|
|
.sram,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.spm)] = .{
|
|
.llvm_name = "spm",
|
|
.description = "The device supports the `SPM` instruction",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.spmx)] = .{
|
|
.llvm_name = "spmx",
|
|
.description = "The device supports the `SPM Z+` instruction",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.sram)] = .{
|
|
.llvm_name = "sram",
|
|
.description = "The device has random access memory",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.tinyencoding)] = .{
|
|
.llvm_name = "tinyencoding",
|
|
.description = "The device has Tiny core specific instruction encodings",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.wrappingrjmp)] = .{
|
|
.llvm_name = "wrappingrjmp",
|
|
.description = "The device potentially requires emitting rjmp that wraps across the flash boundary",
|
|
.dependencies = featureSet(&[_]Feature{}),
|
|
};
|
|
result[@intFromEnum(Feature.xmega)] = .{
|
|
.llvm_name = "xmega",
|
|
.description = "The device is a part of the xmega family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.addsubiw,
|
|
.avr0,
|
|
.@"break",
|
|
.des,
|
|
.eijmpcall,
|
|
.elpm,
|
|
.elpmx,
|
|
.ijmpcall,
|
|
.jmpcall,
|
|
.lowbytefirst,
|
|
.lpm,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
.spmx,
|
|
.sram,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.xmega2)] = .{
|
|
.llvm_name = "xmega2",
|
|
.description = "The device is a part of the xmega2 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.addsubiw,
|
|
.avr0,
|
|
.@"break",
|
|
.ijmpcall,
|
|
.jmpcall,
|
|
.lowbytefirst,
|
|
.lpm,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
.spmx,
|
|
.sram,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.xmega3)] = .{
|
|
.llvm_name = "xmega3",
|
|
.description = "The device is a part of the xmega3 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.addsubiw,
|
|
.avr0,
|
|
.@"break",
|
|
.ijmpcall,
|
|
.jmpcall,
|
|
.lowbytefirst,
|
|
.lpm,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.sram,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.xmega4)] = .{
|
|
.llvm_name = "xmega4",
|
|
.description = "The device is a part of the xmega4 family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.addsubiw,
|
|
.avr0,
|
|
.@"break",
|
|
.elpm,
|
|
.elpmx,
|
|
.ijmpcall,
|
|
.jmpcall,
|
|
.lowbytefirst,
|
|
.lpm,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
.spmx,
|
|
.sram,
|
|
}),
|
|
};
|
|
result[@intFromEnum(Feature.xmegau)] = .{
|
|
.llvm_name = "xmegau",
|
|
.description = "The device is a part of the xmegau family",
|
|
.dependencies = featureSet(&[_]Feature{
|
|
.rmw,
|
|
.xmega,
|
|
}),
|
|
};
|
|
const ti = @typeInfo(Feature);
|
|
for (&result, 0..) |*elem, i| {
|
|
elem.index = i;
|
|
elem.name = ti.@"enum".fields[i].name;
|
|
}
|
|
break :blk result;
|
|
};
|
|
|
|
pub const cpu = struct {
|
|
pub const at43usb320: CpuModel = .{
|
|
.name = "at43usb320",
|
|
.llvm_name = "at43usb320",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr31,
|
|
}),
|
|
};
|
|
pub const at43usb355: CpuModel = .{
|
|
.name = "at43usb355",
|
|
.llvm_name = "at43usb355",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr3,
|
|
}),
|
|
};
|
|
pub const at76c711: CpuModel = .{
|
|
.name = "at76c711",
|
|
.llvm_name = "at76c711",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr3,
|
|
}),
|
|
};
|
|
pub const at86rf401: CpuModel = .{
|
|
.name = "at86rf401",
|
|
.llvm_name = "at86rf401",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.lpmx,
|
|
.movw,
|
|
}),
|
|
};
|
|
pub const at90c8534: CpuModel = .{
|
|
.name = "at90c8534",
|
|
.llvm_name = "at90c8534",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const at90can128: CpuModel = .{
|
|
.name = "at90can128",
|
|
.llvm_name = "at90can128",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const at90can32: CpuModel = .{
|
|
.name = "at90can32",
|
|
.llvm_name = "at90can32",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const at90can64: CpuModel = .{
|
|
.name = "at90can64",
|
|
.llvm_name = "at90can64",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const at90pwm1: CpuModel = .{
|
|
.name = "at90pwm1",
|
|
.llvm_name = "at90pwm1",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const at90pwm161: CpuModel = .{
|
|
.name = "at90pwm161",
|
|
.llvm_name = "at90pwm161",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const at90pwm2: CpuModel = .{
|
|
.name = "at90pwm2",
|
|
.llvm_name = "at90pwm2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const at90pwm216: CpuModel = .{
|
|
.name = "at90pwm216",
|
|
.llvm_name = "at90pwm216",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const at90pwm2b: CpuModel = .{
|
|
.name = "at90pwm2b",
|
|
.llvm_name = "at90pwm2b",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const at90pwm3: CpuModel = .{
|
|
.name = "at90pwm3",
|
|
.llvm_name = "at90pwm3",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const at90pwm316: CpuModel = .{
|
|
.name = "at90pwm316",
|
|
.llvm_name = "at90pwm316",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const at90pwm3b: CpuModel = .{
|
|
.name = "at90pwm3b",
|
|
.llvm_name = "at90pwm3b",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const at90pwm81: CpuModel = .{
|
|
.name = "at90pwm81",
|
|
.llvm_name = "at90pwm81",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const at90s1200: CpuModel = .{
|
|
.name = "at90s1200",
|
|
.llvm_name = "at90s1200",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr0,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const at90s2313: CpuModel = .{
|
|
.name = "at90s2313",
|
|
.llvm_name = "at90s2313",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const at90s2323: CpuModel = .{
|
|
.name = "at90s2323",
|
|
.llvm_name = "at90s2323",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const at90s2333: CpuModel = .{
|
|
.name = "at90s2333",
|
|
.llvm_name = "at90s2333",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const at90s2343: CpuModel = .{
|
|
.name = "at90s2343",
|
|
.llvm_name = "at90s2343",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const at90s4414: CpuModel = .{
|
|
.name = "at90s4414",
|
|
.llvm_name = "at90s4414",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const at90s4433: CpuModel = .{
|
|
.name = "at90s4433",
|
|
.llvm_name = "at90s4433",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const at90s4434: CpuModel = .{
|
|
.name = "at90s4434",
|
|
.llvm_name = "at90s4434",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const at90s8515: CpuModel = .{
|
|
.name = "at90s8515",
|
|
.llvm_name = "at90s8515",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const at90s8535: CpuModel = .{
|
|
.name = "at90s8535",
|
|
.llvm_name = "at90s8535",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const at90scr100: CpuModel = .{
|
|
.name = "at90scr100",
|
|
.llvm_name = "at90scr100",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const at90usb1286: CpuModel = .{
|
|
.name = "at90usb1286",
|
|
.llvm_name = "at90usb1286",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const at90usb1287: CpuModel = .{
|
|
.name = "at90usb1287",
|
|
.llvm_name = "at90usb1287",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const at90usb162: CpuModel = .{
|
|
.name = "at90usb162",
|
|
.llvm_name = "at90usb162",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const at90usb646: CpuModel = .{
|
|
.name = "at90usb646",
|
|
.llvm_name = "at90usb646",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const at90usb647: CpuModel = .{
|
|
.name = "at90usb647",
|
|
.llvm_name = "at90usb647",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const at90usb82: CpuModel = .{
|
|
.name = "at90usb82",
|
|
.llvm_name = "at90usb82",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const at94k: CpuModel = .{
|
|
.name = "at94k",
|
|
.llvm_name = "at94k",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr3,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
}),
|
|
};
|
|
pub const ata5272: CpuModel = .{
|
|
.name = "ata5272",
|
|
.llvm_name = "ata5272",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const ata5505: CpuModel = .{
|
|
.name = "ata5505",
|
|
.llvm_name = "ata5505",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const ata5702m322: CpuModel = .{
|
|
.name = "ata5702m322",
|
|
.llvm_name = "ata5702m322",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata5782: CpuModel = .{
|
|
.name = "ata5782",
|
|
.llvm_name = "ata5782",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata5790: CpuModel = .{
|
|
.name = "ata5790",
|
|
.llvm_name = "ata5790",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata5790n: CpuModel = .{
|
|
.name = "ata5790n",
|
|
.llvm_name = "ata5790n",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata5791: CpuModel = .{
|
|
.name = "ata5791",
|
|
.llvm_name = "ata5791",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata5795: CpuModel = .{
|
|
.name = "ata5795",
|
|
.llvm_name = "ata5795",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata5831: CpuModel = .{
|
|
.name = "ata5831",
|
|
.llvm_name = "ata5831",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata6285: CpuModel = .{
|
|
.name = "ata6285",
|
|
.llvm_name = "ata6285",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const ata6286: CpuModel = .{
|
|
.name = "ata6286",
|
|
.llvm_name = "ata6286",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const ata6289: CpuModel = .{
|
|
.name = "ata6289",
|
|
.llvm_name = "ata6289",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const ata6612c: CpuModel = .{
|
|
.name = "ata6612c",
|
|
.llvm_name = "ata6612c",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const ata6613c: CpuModel = .{
|
|
.name = "ata6613c",
|
|
.llvm_name = "ata6613c",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata6614q: CpuModel = .{
|
|
.name = "ata6614q",
|
|
.llvm_name = "ata6614q",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata6616c: CpuModel = .{
|
|
.name = "ata6616c",
|
|
.llvm_name = "ata6616c",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const ata6617c: CpuModel = .{
|
|
.name = "ata6617c",
|
|
.llvm_name = "ata6617c",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const ata664251: CpuModel = .{
|
|
.name = "ata664251",
|
|
.llvm_name = "ata664251",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const ata8210: CpuModel = .{
|
|
.name = "ata8210",
|
|
.llvm_name = "ata8210",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const ata8510: CpuModel = .{
|
|
.name = "ata8510",
|
|
.llvm_name = "ata8510",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega103: CpuModel = .{
|
|
.name = "atmega103",
|
|
.llvm_name = "atmega103",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr31,
|
|
}),
|
|
};
|
|
pub const atmega128: CpuModel = .{
|
|
.name = "atmega128",
|
|
.llvm_name = "atmega128",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega1280: CpuModel = .{
|
|
.name = "atmega1280",
|
|
.llvm_name = "atmega1280",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega1281: CpuModel = .{
|
|
.name = "atmega1281",
|
|
.llvm_name = "atmega1281",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega1284: CpuModel = .{
|
|
.name = "atmega1284",
|
|
.llvm_name = "atmega1284",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega1284p: CpuModel = .{
|
|
.name = "atmega1284p",
|
|
.llvm_name = "atmega1284p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega1284rfr2: CpuModel = .{
|
|
.name = "atmega1284rfr2",
|
|
.llvm_name = "atmega1284rfr2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega128a: CpuModel = .{
|
|
.name = "atmega128a",
|
|
.llvm_name = "atmega128a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega128rfa1: CpuModel = .{
|
|
.name = "atmega128rfa1",
|
|
.llvm_name = "atmega128rfa1",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega128rfr2: CpuModel = .{
|
|
.name = "atmega128rfr2",
|
|
.llvm_name = "atmega128rfr2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const atmega16: CpuModel = .{
|
|
.name = "atmega16",
|
|
.llvm_name = "atmega16",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega1608: CpuModel = .{
|
|
.name = "atmega1608",
|
|
.llvm_name = "atmega1608",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const atmega1609: CpuModel = .{
|
|
.name = "atmega1609",
|
|
.llvm_name = "atmega1609",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const atmega161: CpuModel = .{
|
|
.name = "atmega161",
|
|
.llvm_name = "atmega161",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr3,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
}),
|
|
};
|
|
pub const atmega162: CpuModel = .{
|
|
.name = "atmega162",
|
|
.llvm_name = "atmega162",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega163: CpuModel = .{
|
|
.name = "atmega163",
|
|
.llvm_name = "atmega163",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr3,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
}),
|
|
};
|
|
pub const atmega164a: CpuModel = .{
|
|
.name = "atmega164a",
|
|
.llvm_name = "atmega164a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega164p: CpuModel = .{
|
|
.name = "atmega164p",
|
|
.llvm_name = "atmega164p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega164pa: CpuModel = .{
|
|
.name = "atmega164pa",
|
|
.llvm_name = "atmega164pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega165: CpuModel = .{
|
|
.name = "atmega165",
|
|
.llvm_name = "atmega165",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega165a: CpuModel = .{
|
|
.name = "atmega165a",
|
|
.llvm_name = "atmega165a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega165p: CpuModel = .{
|
|
.name = "atmega165p",
|
|
.llvm_name = "atmega165p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega165pa: CpuModel = .{
|
|
.name = "atmega165pa",
|
|
.llvm_name = "atmega165pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega168: CpuModel = .{
|
|
.name = "atmega168",
|
|
.llvm_name = "atmega168",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega168a: CpuModel = .{
|
|
.name = "atmega168a",
|
|
.llvm_name = "atmega168a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega168p: CpuModel = .{
|
|
.name = "atmega168p",
|
|
.llvm_name = "atmega168p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega168pa: CpuModel = .{
|
|
.name = "atmega168pa",
|
|
.llvm_name = "atmega168pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega168pb: CpuModel = .{
|
|
.name = "atmega168pb",
|
|
.llvm_name = "atmega168pb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega169: CpuModel = .{
|
|
.name = "atmega169",
|
|
.llvm_name = "atmega169",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega169a: CpuModel = .{
|
|
.name = "atmega169a",
|
|
.llvm_name = "atmega169a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega169p: CpuModel = .{
|
|
.name = "atmega169p",
|
|
.llvm_name = "atmega169p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega169pa: CpuModel = .{
|
|
.name = "atmega169pa",
|
|
.llvm_name = "atmega169pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega16a: CpuModel = .{
|
|
.name = "atmega16a",
|
|
.llvm_name = "atmega16a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega16hva: CpuModel = .{
|
|
.name = "atmega16hva",
|
|
.llvm_name = "atmega16hva",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega16hva2: CpuModel = .{
|
|
.name = "atmega16hva2",
|
|
.llvm_name = "atmega16hva2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega16hvb: CpuModel = .{
|
|
.name = "atmega16hvb",
|
|
.llvm_name = "atmega16hvb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega16hvbrevb: CpuModel = .{
|
|
.name = "atmega16hvbrevb",
|
|
.llvm_name = "atmega16hvbrevb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega16m1: CpuModel = .{
|
|
.name = "atmega16m1",
|
|
.llvm_name = "atmega16m1",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega16u2: CpuModel = .{
|
|
.name = "atmega16u2",
|
|
.llvm_name = "atmega16u2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const atmega16u4: CpuModel = .{
|
|
.name = "atmega16u4",
|
|
.llvm_name = "atmega16u4",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega2560: CpuModel = .{
|
|
.name = "atmega2560",
|
|
.llvm_name = "atmega2560",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr6,
|
|
}),
|
|
};
|
|
pub const atmega2561: CpuModel = .{
|
|
.name = "atmega2561",
|
|
.llvm_name = "atmega2561",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr6,
|
|
}),
|
|
};
|
|
pub const atmega2564rfr2: CpuModel = .{
|
|
.name = "atmega2564rfr2",
|
|
.llvm_name = "atmega2564rfr2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr6,
|
|
}),
|
|
};
|
|
pub const atmega256rfr2: CpuModel = .{
|
|
.name = "atmega256rfr2",
|
|
.llvm_name = "atmega256rfr2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr6,
|
|
}),
|
|
};
|
|
pub const atmega32: CpuModel = .{
|
|
.name = "atmega32",
|
|
.llvm_name = "atmega32",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3208: CpuModel = .{
|
|
.name = "atmega3208",
|
|
.llvm_name = "atmega3208",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const atmega3209: CpuModel = .{
|
|
.name = "atmega3209",
|
|
.llvm_name = "atmega3209",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const atmega323: CpuModel = .{
|
|
.name = "atmega323",
|
|
.llvm_name = "atmega323",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega324a: CpuModel = .{
|
|
.name = "atmega324a",
|
|
.llvm_name = "atmega324a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega324p: CpuModel = .{
|
|
.name = "atmega324p",
|
|
.llvm_name = "atmega324p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega324pa: CpuModel = .{
|
|
.name = "atmega324pa",
|
|
.llvm_name = "atmega324pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega324pb: CpuModel = .{
|
|
.name = "atmega324pb",
|
|
.llvm_name = "atmega324pb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega325: CpuModel = .{
|
|
.name = "atmega325",
|
|
.llvm_name = "atmega325",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3250: CpuModel = .{
|
|
.name = "atmega3250",
|
|
.llvm_name = "atmega3250",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3250a: CpuModel = .{
|
|
.name = "atmega3250a",
|
|
.llvm_name = "atmega3250a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3250p: CpuModel = .{
|
|
.name = "atmega3250p",
|
|
.llvm_name = "atmega3250p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3250pa: CpuModel = .{
|
|
.name = "atmega3250pa",
|
|
.llvm_name = "atmega3250pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega325a: CpuModel = .{
|
|
.name = "atmega325a",
|
|
.llvm_name = "atmega325a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega325p: CpuModel = .{
|
|
.name = "atmega325p",
|
|
.llvm_name = "atmega325p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega325pa: CpuModel = .{
|
|
.name = "atmega325pa",
|
|
.llvm_name = "atmega325pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega328: CpuModel = .{
|
|
.name = "atmega328",
|
|
.llvm_name = "atmega328",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega328p: CpuModel = .{
|
|
.name = "atmega328p",
|
|
.llvm_name = "atmega328p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega328pb: CpuModel = .{
|
|
.name = "atmega328pb",
|
|
.llvm_name = "atmega328pb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega329: CpuModel = .{
|
|
.name = "atmega329",
|
|
.llvm_name = "atmega329",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3290: CpuModel = .{
|
|
.name = "atmega3290",
|
|
.llvm_name = "atmega3290",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3290a: CpuModel = .{
|
|
.name = "atmega3290a",
|
|
.llvm_name = "atmega3290a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3290p: CpuModel = .{
|
|
.name = "atmega3290p",
|
|
.llvm_name = "atmega3290p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega3290pa: CpuModel = .{
|
|
.name = "atmega3290pa",
|
|
.llvm_name = "atmega3290pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega329a: CpuModel = .{
|
|
.name = "atmega329a",
|
|
.llvm_name = "atmega329a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega329p: CpuModel = .{
|
|
.name = "atmega329p",
|
|
.llvm_name = "atmega329p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega329pa: CpuModel = .{
|
|
.name = "atmega329pa",
|
|
.llvm_name = "atmega329pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega32a: CpuModel = .{
|
|
.name = "atmega32a",
|
|
.llvm_name = "atmega32a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega32c1: CpuModel = .{
|
|
.name = "atmega32c1",
|
|
.llvm_name = "atmega32c1",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega32hvb: CpuModel = .{
|
|
.name = "atmega32hvb",
|
|
.llvm_name = "atmega32hvb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega32hvbrevb: CpuModel = .{
|
|
.name = "atmega32hvbrevb",
|
|
.llvm_name = "atmega32hvbrevb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega32m1: CpuModel = .{
|
|
.name = "atmega32m1",
|
|
.llvm_name = "atmega32m1",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega32u2: CpuModel = .{
|
|
.name = "atmega32u2",
|
|
.llvm_name = "atmega32u2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const atmega32u4: CpuModel = .{
|
|
.name = "atmega32u4",
|
|
.llvm_name = "atmega32u4",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega32u6: CpuModel = .{
|
|
.name = "atmega32u6",
|
|
.llvm_name = "atmega32u6",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega406: CpuModel = .{
|
|
.name = "atmega406",
|
|
.llvm_name = "atmega406",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega48: CpuModel = .{
|
|
.name = "atmega48",
|
|
.llvm_name = "atmega48",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega4808: CpuModel = .{
|
|
.name = "atmega4808",
|
|
.llvm_name = "atmega4808",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const atmega4809: CpuModel = .{
|
|
.name = "atmega4809",
|
|
.llvm_name = "atmega4809",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const atmega48a: CpuModel = .{
|
|
.name = "atmega48a",
|
|
.llvm_name = "atmega48a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega48p: CpuModel = .{
|
|
.name = "atmega48p",
|
|
.llvm_name = "atmega48p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega48pa: CpuModel = .{
|
|
.name = "atmega48pa",
|
|
.llvm_name = "atmega48pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega48pb: CpuModel = .{
|
|
.name = "atmega48pb",
|
|
.llvm_name = "atmega48pb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega64: CpuModel = .{
|
|
.name = "atmega64",
|
|
.llvm_name = "atmega64",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega640: CpuModel = .{
|
|
.name = "atmega640",
|
|
.llvm_name = "atmega640",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega644: CpuModel = .{
|
|
.name = "atmega644",
|
|
.llvm_name = "atmega644",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega644a: CpuModel = .{
|
|
.name = "atmega644a",
|
|
.llvm_name = "atmega644a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega644p: CpuModel = .{
|
|
.name = "atmega644p",
|
|
.llvm_name = "atmega644p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega644pa: CpuModel = .{
|
|
.name = "atmega644pa",
|
|
.llvm_name = "atmega644pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega644rfr2: CpuModel = .{
|
|
.name = "atmega644rfr2",
|
|
.llvm_name = "atmega644rfr2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega645: CpuModel = .{
|
|
.name = "atmega645",
|
|
.llvm_name = "atmega645",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega6450: CpuModel = .{
|
|
.name = "atmega6450",
|
|
.llvm_name = "atmega6450",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega6450a: CpuModel = .{
|
|
.name = "atmega6450a",
|
|
.llvm_name = "atmega6450a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega6450p: CpuModel = .{
|
|
.name = "atmega6450p",
|
|
.llvm_name = "atmega6450p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega645a: CpuModel = .{
|
|
.name = "atmega645a",
|
|
.llvm_name = "atmega645a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega645p: CpuModel = .{
|
|
.name = "atmega645p",
|
|
.llvm_name = "atmega645p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega649: CpuModel = .{
|
|
.name = "atmega649",
|
|
.llvm_name = "atmega649",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega6490: CpuModel = .{
|
|
.name = "atmega6490",
|
|
.llvm_name = "atmega6490",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega6490a: CpuModel = .{
|
|
.name = "atmega6490a",
|
|
.llvm_name = "atmega6490a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega6490p: CpuModel = .{
|
|
.name = "atmega6490p",
|
|
.llvm_name = "atmega6490p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega649a: CpuModel = .{
|
|
.name = "atmega649a",
|
|
.llvm_name = "atmega649a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega649p: CpuModel = .{
|
|
.name = "atmega649p",
|
|
.llvm_name = "atmega649p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega64a: CpuModel = .{
|
|
.name = "atmega64a",
|
|
.llvm_name = "atmega64a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega64c1: CpuModel = .{
|
|
.name = "atmega64c1",
|
|
.llvm_name = "atmega64c1",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega64hve: CpuModel = .{
|
|
.name = "atmega64hve",
|
|
.llvm_name = "atmega64hve",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega64hve2: CpuModel = .{
|
|
.name = "atmega64hve2",
|
|
.llvm_name = "atmega64hve2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega64m1: CpuModel = .{
|
|
.name = "atmega64m1",
|
|
.llvm_name = "atmega64m1",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega64rfr2: CpuModel = .{
|
|
.name = "atmega64rfr2",
|
|
.llvm_name = "atmega64rfr2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const atmega8: CpuModel = .{
|
|
.name = "atmega8",
|
|
.llvm_name = "atmega8",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const atmega808: CpuModel = .{
|
|
.name = "atmega808",
|
|
.llvm_name = "atmega808",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const atmega809: CpuModel = .{
|
|
.name = "atmega809",
|
|
.llvm_name = "atmega809",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const atmega8515: CpuModel = .{
|
|
.name = "atmega8515",
|
|
.llvm_name = "atmega8515",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const atmega8535: CpuModel = .{
|
|
.name = "atmega8535",
|
|
.llvm_name = "atmega8535",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const atmega88: CpuModel = .{
|
|
.name = "atmega88",
|
|
.llvm_name = "atmega88",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega88a: CpuModel = .{
|
|
.name = "atmega88a",
|
|
.llvm_name = "atmega88a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega88p: CpuModel = .{
|
|
.name = "atmega88p",
|
|
.llvm_name = "atmega88p",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega88pa: CpuModel = .{
|
|
.name = "atmega88pa",
|
|
.llvm_name = "atmega88pa",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega88pb: CpuModel = .{
|
|
.name = "atmega88pb",
|
|
.llvm_name = "atmega88pb",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega8a: CpuModel = .{
|
|
.name = "atmega8a",
|
|
.llvm_name = "atmega8a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.lpmx,
|
|
.movw,
|
|
.mul,
|
|
.spm,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const atmega8hva: CpuModel = .{
|
|
.name = "atmega8hva",
|
|
.llvm_name = "atmega8hva",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const atmega8u2: CpuModel = .{
|
|
.name = "atmega8u2",
|
|
.llvm_name = "atmega8u2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const attiny10: CpuModel = .{
|
|
.name = "attiny10",
|
|
.llvm_name = "attiny10",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const attiny102: CpuModel = .{
|
|
.name = "attiny102",
|
|
.llvm_name = "attiny102",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const attiny104: CpuModel = .{
|
|
.name = "attiny104",
|
|
.llvm_name = "attiny104",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const attiny11: CpuModel = .{
|
|
.name = "attiny11",
|
|
.llvm_name = "attiny11",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr1,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny12: CpuModel = .{
|
|
.name = "attiny12",
|
|
.llvm_name = "attiny12",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr1,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny13: CpuModel = .{
|
|
.name = "attiny13",
|
|
.llvm_name = "attiny13",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny13a: CpuModel = .{
|
|
.name = "attiny13a",
|
|
.llvm_name = "attiny13a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny15: CpuModel = .{
|
|
.name = "attiny15",
|
|
.llvm_name = "attiny15",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr1,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny1604: CpuModel = .{
|
|
.name = "attiny1604",
|
|
.llvm_name = "attiny1604",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1606: CpuModel = .{
|
|
.name = "attiny1606",
|
|
.llvm_name = "attiny1606",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1607: CpuModel = .{
|
|
.name = "attiny1607",
|
|
.llvm_name = "attiny1607",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1614: CpuModel = .{
|
|
.name = "attiny1614",
|
|
.llvm_name = "attiny1614",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1616: CpuModel = .{
|
|
.name = "attiny1616",
|
|
.llvm_name = "attiny1616",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1617: CpuModel = .{
|
|
.name = "attiny1617",
|
|
.llvm_name = "attiny1617",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1624: CpuModel = .{
|
|
.name = "attiny1624",
|
|
.llvm_name = "attiny1624",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1626: CpuModel = .{
|
|
.name = "attiny1626",
|
|
.llvm_name = "attiny1626",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1627: CpuModel = .{
|
|
.name = "attiny1627",
|
|
.llvm_name = "attiny1627",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny1634: CpuModel = .{
|
|
.name = "attiny1634",
|
|
.llvm_name = "attiny1634",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const attiny167: CpuModel = .{
|
|
.name = "attiny167",
|
|
.llvm_name = "attiny167",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const attiny20: CpuModel = .{
|
|
.name = "attiny20",
|
|
.llvm_name = "attiny20",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const attiny202: CpuModel = .{
|
|
.name = "attiny202",
|
|
.llvm_name = "attiny202",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny204: CpuModel = .{
|
|
.name = "attiny204",
|
|
.llvm_name = "attiny204",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny212: CpuModel = .{
|
|
.name = "attiny212",
|
|
.llvm_name = "attiny212",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny214: CpuModel = .{
|
|
.name = "attiny214",
|
|
.llvm_name = "attiny214",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny22: CpuModel = .{
|
|
.name = "attiny22",
|
|
.llvm_name = "attiny22",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny2313: CpuModel = .{
|
|
.name = "attiny2313",
|
|
.llvm_name = "attiny2313",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny2313a: CpuModel = .{
|
|
.name = "attiny2313a",
|
|
.llvm_name = "attiny2313a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny24: CpuModel = .{
|
|
.name = "attiny24",
|
|
.llvm_name = "attiny24",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny24a: CpuModel = .{
|
|
.name = "attiny24a",
|
|
.llvm_name = "attiny24a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny25: CpuModel = .{
|
|
.name = "attiny25",
|
|
.llvm_name = "attiny25",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny26: CpuModel = .{
|
|
.name = "attiny26",
|
|
.llvm_name = "attiny26",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
.lpmx,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny261: CpuModel = .{
|
|
.name = "attiny261",
|
|
.llvm_name = "attiny261",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny261a: CpuModel = .{
|
|
.name = "attiny261a",
|
|
.llvm_name = "attiny261a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny28: CpuModel = .{
|
|
.name = "attiny28",
|
|
.llvm_name = "attiny28",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr1,
|
|
.smallstack,
|
|
}),
|
|
};
|
|
pub const attiny3216: CpuModel = .{
|
|
.name = "attiny3216",
|
|
.llvm_name = "attiny3216",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny3217: CpuModel = .{
|
|
.name = "attiny3217",
|
|
.llvm_name = "attiny3217",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny3224: CpuModel = .{
|
|
.name = "attiny3224",
|
|
.llvm_name = "attiny3224",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny3226: CpuModel = .{
|
|
.name = "attiny3226",
|
|
.llvm_name = "attiny3226",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny3227: CpuModel = .{
|
|
.name = "attiny3227",
|
|
.llvm_name = "attiny3227",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny4: CpuModel = .{
|
|
.name = "attiny4",
|
|
.llvm_name = "attiny4",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const attiny40: CpuModel = .{
|
|
.name = "attiny40",
|
|
.llvm_name = "attiny40",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const attiny402: CpuModel = .{
|
|
.name = "attiny402",
|
|
.llvm_name = "attiny402",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny404: CpuModel = .{
|
|
.name = "attiny404",
|
|
.llvm_name = "attiny404",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny406: CpuModel = .{
|
|
.name = "attiny406",
|
|
.llvm_name = "attiny406",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny412: CpuModel = .{
|
|
.name = "attiny412",
|
|
.llvm_name = "attiny412",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny414: CpuModel = .{
|
|
.name = "attiny414",
|
|
.llvm_name = "attiny414",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny416: CpuModel = .{
|
|
.name = "attiny416",
|
|
.llvm_name = "attiny416",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny417: CpuModel = .{
|
|
.name = "attiny417",
|
|
.llvm_name = "attiny417",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny4313: CpuModel = .{
|
|
.name = "attiny4313",
|
|
.llvm_name = "attiny4313",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny43u: CpuModel = .{
|
|
.name = "attiny43u",
|
|
.llvm_name = "attiny43u",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny44: CpuModel = .{
|
|
.name = "attiny44",
|
|
.llvm_name = "attiny44",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny441: CpuModel = .{
|
|
.name = "attiny441",
|
|
.llvm_name = "attiny441",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny44a: CpuModel = .{
|
|
.name = "attiny44a",
|
|
.llvm_name = "attiny44a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny45: CpuModel = .{
|
|
.name = "attiny45",
|
|
.llvm_name = "attiny45",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny461: CpuModel = .{
|
|
.name = "attiny461",
|
|
.llvm_name = "attiny461",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny461a: CpuModel = .{
|
|
.name = "attiny461a",
|
|
.llvm_name = "attiny461a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny48: CpuModel = .{
|
|
.name = "attiny48",
|
|
.llvm_name = "attiny48",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const attiny5: CpuModel = .{
|
|
.name = "attiny5",
|
|
.llvm_name = "attiny5",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const attiny804: CpuModel = .{
|
|
.name = "attiny804",
|
|
.llvm_name = "attiny804",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny806: CpuModel = .{
|
|
.name = "attiny806",
|
|
.llvm_name = "attiny806",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny807: CpuModel = .{
|
|
.name = "attiny807",
|
|
.llvm_name = "attiny807",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny814: CpuModel = .{
|
|
.name = "attiny814",
|
|
.llvm_name = "attiny814",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny816: CpuModel = .{
|
|
.name = "attiny816",
|
|
.llvm_name = "attiny816",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny817: CpuModel = .{
|
|
.name = "attiny817",
|
|
.llvm_name = "attiny817",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const attiny828: CpuModel = .{
|
|
.name = "attiny828",
|
|
.llvm_name = "attiny828",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny84: CpuModel = .{
|
|
.name = "attiny84",
|
|
.llvm_name = "attiny84",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny841: CpuModel = .{
|
|
.name = "attiny841",
|
|
.llvm_name = "attiny841",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny84a: CpuModel = .{
|
|
.name = "attiny84a",
|
|
.llvm_name = "attiny84a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny85: CpuModel = .{
|
|
.name = "attiny85",
|
|
.llvm_name = "attiny85",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny861: CpuModel = .{
|
|
.name = "attiny861",
|
|
.llvm_name = "attiny861",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny861a: CpuModel = .{
|
|
.name = "attiny861a",
|
|
.llvm_name = "attiny861a",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny87: CpuModel = .{
|
|
.name = "attiny87",
|
|
.llvm_name = "attiny87",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny88: CpuModel = .{
|
|
.name = "attiny88",
|
|
.llvm_name = "attiny88",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
.wrappingrjmp,
|
|
}),
|
|
};
|
|
pub const attiny9: CpuModel = .{
|
|
.name = "attiny9",
|
|
.llvm_name = "attiny9",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const atxmega128a1: CpuModel = .{
|
|
.name = "atxmega128a1",
|
|
.llvm_name = "atxmega128a1",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega128a1u: CpuModel = .{
|
|
.name = "atxmega128a1u",
|
|
.llvm_name = "atxmega128a1u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega128a3: CpuModel = .{
|
|
.name = "atxmega128a3",
|
|
.llvm_name = "atxmega128a3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega128a3u: CpuModel = .{
|
|
.name = "atxmega128a3u",
|
|
.llvm_name = "atxmega128a3u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega128a4u: CpuModel = .{
|
|
.name = "atxmega128a4u",
|
|
.llvm_name = "atxmega128a4u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega128b1: CpuModel = .{
|
|
.name = "atxmega128b1",
|
|
.llvm_name = "atxmega128b1",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega128b3: CpuModel = .{
|
|
.name = "atxmega128b3",
|
|
.llvm_name = "atxmega128b3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega128c3: CpuModel = .{
|
|
.name = "atxmega128c3",
|
|
.llvm_name = "atxmega128c3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega128d3: CpuModel = .{
|
|
.name = "atxmega128d3",
|
|
.llvm_name = "atxmega128d3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega128d4: CpuModel = .{
|
|
.name = "atxmega128d4",
|
|
.llvm_name = "atxmega128d4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega16a4: CpuModel = .{
|
|
.name = "atxmega16a4",
|
|
.llvm_name = "atxmega16a4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega16a4u: CpuModel = .{
|
|
.name = "atxmega16a4u",
|
|
.llvm_name = "atxmega16a4u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega16c4: CpuModel = .{
|
|
.name = "atxmega16c4",
|
|
.llvm_name = "atxmega16c4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega16d4: CpuModel = .{
|
|
.name = "atxmega16d4",
|
|
.llvm_name = "atxmega16d4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega16e5: CpuModel = .{
|
|
.name = "atxmega16e5",
|
|
.llvm_name = "atxmega16e5",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega192a3: CpuModel = .{
|
|
.name = "atxmega192a3",
|
|
.llvm_name = "atxmega192a3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega192a3u: CpuModel = .{
|
|
.name = "atxmega192a3u",
|
|
.llvm_name = "atxmega192a3u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega192c3: CpuModel = .{
|
|
.name = "atxmega192c3",
|
|
.llvm_name = "atxmega192c3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega192d3: CpuModel = .{
|
|
.name = "atxmega192d3",
|
|
.llvm_name = "atxmega192d3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega256a3: CpuModel = .{
|
|
.name = "atxmega256a3",
|
|
.llvm_name = "atxmega256a3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega256a3b: CpuModel = .{
|
|
.name = "atxmega256a3b",
|
|
.llvm_name = "atxmega256a3b",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega256a3bu: CpuModel = .{
|
|
.name = "atxmega256a3bu",
|
|
.llvm_name = "atxmega256a3bu",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega256a3u: CpuModel = .{
|
|
.name = "atxmega256a3u",
|
|
.llvm_name = "atxmega256a3u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega256c3: CpuModel = .{
|
|
.name = "atxmega256c3",
|
|
.llvm_name = "atxmega256c3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega256d3: CpuModel = .{
|
|
.name = "atxmega256d3",
|
|
.llvm_name = "atxmega256d3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega32a4: CpuModel = .{
|
|
.name = "atxmega32a4",
|
|
.llvm_name = "atxmega32a4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega32a4u: CpuModel = .{
|
|
.name = "atxmega32a4u",
|
|
.llvm_name = "atxmega32a4u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega32c3: CpuModel = .{
|
|
.name = "atxmega32c3",
|
|
.llvm_name = "atxmega32c3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega32c4: CpuModel = .{
|
|
.name = "atxmega32c4",
|
|
.llvm_name = "atxmega32c4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega32d3: CpuModel = .{
|
|
.name = "atxmega32d3",
|
|
.llvm_name = "atxmega32d3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega32d4: CpuModel = .{
|
|
.name = "atxmega32d4",
|
|
.llvm_name = "atxmega32d4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega32e5: CpuModel = .{
|
|
.name = "atxmega32e5",
|
|
.llvm_name = "atxmega32e5",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega384c3: CpuModel = .{
|
|
.name = "atxmega384c3",
|
|
.llvm_name = "atxmega384c3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega384d3: CpuModel = .{
|
|
.name = "atxmega384d3",
|
|
.llvm_name = "atxmega384d3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega64a1: CpuModel = .{
|
|
.name = "atxmega64a1",
|
|
.llvm_name = "atxmega64a1",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega64a1u: CpuModel = .{
|
|
.name = "atxmega64a1u",
|
|
.llvm_name = "atxmega64a1u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega64a3: CpuModel = .{
|
|
.name = "atxmega64a3",
|
|
.llvm_name = "atxmega64a3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega64a3u: CpuModel = .{
|
|
.name = "atxmega64a3u",
|
|
.llvm_name = "atxmega64a3u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega64a4u: CpuModel = .{
|
|
.name = "atxmega64a4u",
|
|
.llvm_name = "atxmega64a4u",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega64b1: CpuModel = .{
|
|
.name = "atxmega64b1",
|
|
.llvm_name = "atxmega64b1",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega64b3: CpuModel = .{
|
|
.name = "atxmega64b3",
|
|
.llvm_name = "atxmega64b3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega64c3: CpuModel = .{
|
|
.name = "atxmega64c3",
|
|
.llvm_name = "atxmega64c3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const atxmega64d3: CpuModel = .{
|
|
.name = "atxmega64d3",
|
|
.llvm_name = "atxmega64d3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega64d4: CpuModel = .{
|
|
.name = "atxmega64d4",
|
|
.llvm_name = "atxmega64d4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const atxmega8e5: CpuModel = .{
|
|
.name = "atxmega8e5",
|
|
.llvm_name = "atxmega8e5",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmegau,
|
|
}),
|
|
};
|
|
pub const avr1: CpuModel = .{
|
|
.name = "avr1",
|
|
.llvm_name = "avr1",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr1,
|
|
}),
|
|
};
|
|
pub const avr128da28: CpuModel = .{
|
|
.name = "avr128da28",
|
|
.llvm_name = "avr128da28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega4,
|
|
}),
|
|
};
|
|
pub const avr128da32: CpuModel = .{
|
|
.name = "avr128da32",
|
|
.llvm_name = "avr128da32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega4,
|
|
}),
|
|
};
|
|
pub const avr128da48: CpuModel = .{
|
|
.name = "avr128da48",
|
|
.llvm_name = "avr128da48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega4,
|
|
}),
|
|
};
|
|
pub const avr128da64: CpuModel = .{
|
|
.name = "avr128da64",
|
|
.llvm_name = "avr128da64",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega4,
|
|
}),
|
|
};
|
|
pub const avr128db28: CpuModel = .{
|
|
.name = "avr128db28",
|
|
.llvm_name = "avr128db28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega4,
|
|
}),
|
|
};
|
|
pub const avr128db32: CpuModel = .{
|
|
.name = "avr128db32",
|
|
.llvm_name = "avr128db32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega4,
|
|
}),
|
|
};
|
|
pub const avr128db48: CpuModel = .{
|
|
.name = "avr128db48",
|
|
.llvm_name = "avr128db48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega4,
|
|
}),
|
|
};
|
|
pub const avr128db64: CpuModel = .{
|
|
.name = "avr128db64",
|
|
.llvm_name = "avr128db64",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega4,
|
|
}),
|
|
};
|
|
pub const avr16dd20: CpuModel = .{
|
|
.name = "avr16dd20",
|
|
.llvm_name = "avr16dd20",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16dd28: CpuModel = .{
|
|
.name = "avr16dd28",
|
|
.llvm_name = "avr16dd28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16dd32: CpuModel = .{
|
|
.name = "avr16dd32",
|
|
.llvm_name = "avr16dd32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16du14: CpuModel = .{
|
|
.name = "avr16du14",
|
|
.llvm_name = "avr16du14",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16du20: CpuModel = .{
|
|
.name = "avr16du20",
|
|
.llvm_name = "avr16du20",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16du28: CpuModel = .{
|
|
.name = "avr16du28",
|
|
.llvm_name = "avr16du28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16du32: CpuModel = .{
|
|
.name = "avr16du32",
|
|
.llvm_name = "avr16du32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16ea28: CpuModel = .{
|
|
.name = "avr16ea28",
|
|
.llvm_name = "avr16ea28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16ea32: CpuModel = .{
|
|
.name = "avr16ea32",
|
|
.llvm_name = "avr16ea32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16ea48: CpuModel = .{
|
|
.name = "avr16ea48",
|
|
.llvm_name = "avr16ea48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16eb14: CpuModel = .{
|
|
.name = "avr16eb14",
|
|
.llvm_name = "avr16eb14",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16eb20: CpuModel = .{
|
|
.name = "avr16eb20",
|
|
.llvm_name = "avr16eb20",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16eb28: CpuModel = .{
|
|
.name = "avr16eb28",
|
|
.llvm_name = "avr16eb28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr16eb32: CpuModel = .{
|
|
.name = "avr16eb32",
|
|
.llvm_name = "avr16eb32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr2: CpuModel = .{
|
|
.name = "avr2",
|
|
.llvm_name = "avr2",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr2,
|
|
}),
|
|
};
|
|
pub const avr25: CpuModel = .{
|
|
.name = "avr25",
|
|
.llvm_name = "avr25",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr25,
|
|
}),
|
|
};
|
|
pub const avr3: CpuModel = .{
|
|
.name = "avr3",
|
|
.llvm_name = "avr3",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr3,
|
|
}),
|
|
};
|
|
pub const avr31: CpuModel = .{
|
|
.name = "avr31",
|
|
.llvm_name = "avr31",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr31,
|
|
}),
|
|
};
|
|
pub const avr32da28: CpuModel = .{
|
|
.name = "avr32da28",
|
|
.llvm_name = "avr32da28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32da32: CpuModel = .{
|
|
.name = "avr32da32",
|
|
.llvm_name = "avr32da32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32da48: CpuModel = .{
|
|
.name = "avr32da48",
|
|
.llvm_name = "avr32da48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32db28: CpuModel = .{
|
|
.name = "avr32db28",
|
|
.llvm_name = "avr32db28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32db32: CpuModel = .{
|
|
.name = "avr32db32",
|
|
.llvm_name = "avr32db32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32db48: CpuModel = .{
|
|
.name = "avr32db48",
|
|
.llvm_name = "avr32db48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32dd14: CpuModel = .{
|
|
.name = "avr32dd14",
|
|
.llvm_name = "avr32dd14",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32dd20: CpuModel = .{
|
|
.name = "avr32dd20",
|
|
.llvm_name = "avr32dd20",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32dd28: CpuModel = .{
|
|
.name = "avr32dd28",
|
|
.llvm_name = "avr32dd28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32dd32: CpuModel = .{
|
|
.name = "avr32dd32",
|
|
.llvm_name = "avr32dd32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32du14: CpuModel = .{
|
|
.name = "avr32du14",
|
|
.llvm_name = "avr32du14",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32du20: CpuModel = .{
|
|
.name = "avr32du20",
|
|
.llvm_name = "avr32du20",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32du28: CpuModel = .{
|
|
.name = "avr32du28",
|
|
.llvm_name = "avr32du28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32du32: CpuModel = .{
|
|
.name = "avr32du32",
|
|
.llvm_name = "avr32du32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32ea28: CpuModel = .{
|
|
.name = "avr32ea28",
|
|
.llvm_name = "avr32ea28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32ea32: CpuModel = .{
|
|
.name = "avr32ea32",
|
|
.llvm_name = "avr32ea32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32ea48: CpuModel = .{
|
|
.name = "avr32ea48",
|
|
.llvm_name = "avr32ea48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32sd20: CpuModel = .{
|
|
.name = "avr32sd20",
|
|
.llvm_name = "avr32sd20",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32sd28: CpuModel = .{
|
|
.name = "avr32sd28",
|
|
.llvm_name = "avr32sd28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr32sd32: CpuModel = .{
|
|
.name = "avr32sd32",
|
|
.llvm_name = "avr32sd32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avr35: CpuModel = .{
|
|
.name = "avr35",
|
|
.llvm_name = "avr35",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr35,
|
|
}),
|
|
};
|
|
pub const avr4: CpuModel = .{
|
|
.name = "avr4",
|
|
.llvm_name = "avr4",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr4,
|
|
}),
|
|
};
|
|
pub const avr5: CpuModel = .{
|
|
.name = "avr5",
|
|
.llvm_name = "avr5",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
pub const avr51: CpuModel = .{
|
|
.name = "avr51",
|
|
.llvm_name = "avr51",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr51,
|
|
}),
|
|
};
|
|
pub const avr6: CpuModel = .{
|
|
.name = "avr6",
|
|
.llvm_name = "avr6",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr6,
|
|
}),
|
|
};
|
|
pub const avr64da28: CpuModel = .{
|
|
.name = "avr64da28",
|
|
.llvm_name = "avr64da28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64da32: CpuModel = .{
|
|
.name = "avr64da32",
|
|
.llvm_name = "avr64da32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64da48: CpuModel = .{
|
|
.name = "avr64da48",
|
|
.llvm_name = "avr64da48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64da64: CpuModel = .{
|
|
.name = "avr64da64",
|
|
.llvm_name = "avr64da64",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64db28: CpuModel = .{
|
|
.name = "avr64db28",
|
|
.llvm_name = "avr64db28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64db32: CpuModel = .{
|
|
.name = "avr64db32",
|
|
.llvm_name = "avr64db32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64db48: CpuModel = .{
|
|
.name = "avr64db48",
|
|
.llvm_name = "avr64db48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64db64: CpuModel = .{
|
|
.name = "avr64db64",
|
|
.llvm_name = "avr64db64",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64dd14: CpuModel = .{
|
|
.name = "avr64dd14",
|
|
.llvm_name = "avr64dd14",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64dd20: CpuModel = .{
|
|
.name = "avr64dd20",
|
|
.llvm_name = "avr64dd20",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64dd28: CpuModel = .{
|
|
.name = "avr64dd28",
|
|
.llvm_name = "avr64dd28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64dd32: CpuModel = .{
|
|
.name = "avr64dd32",
|
|
.llvm_name = "avr64dd32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64du28: CpuModel = .{
|
|
.name = "avr64du28",
|
|
.llvm_name = "avr64du28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64du32: CpuModel = .{
|
|
.name = "avr64du32",
|
|
.llvm_name = "avr64du32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64ea28: CpuModel = .{
|
|
.name = "avr64ea28",
|
|
.llvm_name = "avr64ea28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64ea32: CpuModel = .{
|
|
.name = "avr64ea32",
|
|
.llvm_name = "avr64ea32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64ea48: CpuModel = .{
|
|
.name = "avr64ea48",
|
|
.llvm_name = "avr64ea48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64sd28: CpuModel = .{
|
|
.name = "avr64sd28",
|
|
.llvm_name = "avr64sd28",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64sd32: CpuModel = .{
|
|
.name = "avr64sd32",
|
|
.llvm_name = "avr64sd32",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avr64sd48: CpuModel = .{
|
|
.name = "avr64sd48",
|
|
.llvm_name = "avr64sd48",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega2,
|
|
}),
|
|
};
|
|
pub const avrtiny: CpuModel = .{
|
|
.name = "avrtiny",
|
|
.llvm_name = "avrtiny",
|
|
.features = featureSet(&[_]Feature{
|
|
.avrtiny,
|
|
}),
|
|
};
|
|
pub const avrxmega1: CpuModel = .{
|
|
.name = "avrxmega1",
|
|
.llvm_name = "avrxmega1",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const avrxmega2: CpuModel = .{
|
|
.name = "avrxmega2",
|
|
.llvm_name = "avrxmega2",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const avrxmega3: CpuModel = .{
|
|
.name = "avrxmega3",
|
|
.llvm_name = "avrxmega3",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega3,
|
|
}),
|
|
};
|
|
pub const avrxmega4: CpuModel = .{
|
|
.name = "avrxmega4",
|
|
.llvm_name = "avrxmega4",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const avrxmega5: CpuModel = .{
|
|
.name = "avrxmega5",
|
|
.llvm_name = "avrxmega5",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const avrxmega6: CpuModel = .{
|
|
.name = "avrxmega6",
|
|
.llvm_name = "avrxmega6",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const avrxmega7: CpuModel = .{
|
|
.name = "avrxmega7",
|
|
.llvm_name = "avrxmega7",
|
|
.features = featureSet(&[_]Feature{
|
|
.xmega,
|
|
}),
|
|
};
|
|
pub const m3000: CpuModel = .{
|
|
.name = "m3000",
|
|
.llvm_name = "m3000",
|
|
.features = featureSet(&[_]Feature{
|
|
.avr5,
|
|
}),
|
|
};
|
|
};
|