Source
pub const cpu = struct {
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.memops,
.nvj,
.nvs,
.prev65,
.small_data,
.v5,
.v55,
.v60,
}),
};
pub const hexagonv5: CpuModel = .{
.name = "hexagonv5",
.llvm_name = "hexagonv5",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.memops,
.nvj,
.nvs,
.prev65,
.small_data,
.v5,
}),
};
pub const hexagonv55: CpuModel = .{
.name = "hexagonv55",
.llvm_name = "hexagonv55",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.memops,
.nvj,
.nvs,
.prev65,
.small_data,
.v5,
.v55,
}),
};
pub const hexagonv60: CpuModel = .{
.name = "hexagonv60",
.llvm_name = "hexagonv60",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.memops,
.nvj,
.nvs,
.prev65,
.small_data,
.v5,
.v55,
.v60,
}),
};
pub const hexagonv62: CpuModel = .{
.name = "hexagonv62",
.llvm_name = "hexagonv62",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.memops,
.nvj,
.nvs,
.prev65,
.small_data,
.v5,
.v55,
.v60,
.v62,
}),
};
pub const hexagonv65: CpuModel = .{
.name = "hexagonv65",
.llvm_name = "hexagonv65",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.mem_noshuf,
.memops,
.nvj,
.nvs,
.small_data,
.v5,
.v55,
.v60,
.v62,
.v65,
}),
};
pub const hexagonv66: CpuModel = .{
.name = "hexagonv66",
.llvm_name = "hexagonv66",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.mem_noshuf,
.memops,
.nvj,
.nvs,
.small_data,
.v5,
.v55,
.v60,
.v62,
.v65,
.v66,
}),
};
pub const hexagonv67: CpuModel = .{
.name = "hexagonv67",
.llvm_name = "hexagonv67",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.mem_noshuf,
.memops,
.nvj,
.nvs,
.small_data,
.v5,
.v55,
.v60,
.v62,
.v65,
.v66,
.v67,
}),
};
pub const hexagonv67t: CpuModel = .{
.name = "hexagonv67t",
.llvm_name = "hexagonv67t",
.features = featureSet(&[_]Feature{
.audio,
.compound,
.mem_noshuf,
.memops,
.nvs,
.small_data,
.tinycore,
.v5,
.v55,
.v60,
.v62,
.v65,
.v66,
.v67,
}),
};
pub const hexagonv68: CpuModel = .{
.name = "hexagonv68",
.llvm_name = "hexagonv68",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.mem_noshuf,
.memops,
.nvj,
.nvs,
.small_data,
.v5,
.v55,
.v60,
.v62,
.v65,
.v66,
.v67,
.v68,
}),
};
pub const hexagonv69: CpuModel = .{
.name = "hexagonv69",
.llvm_name = "hexagonv69",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.mem_noshuf,
.memops,
.nvj,
.nvs,
.small_data,
.v5,
.v55,
.v60,
.v62,
.v65,
.v66,
.v67,
.v68,
.v69,
}),
};
pub const hexagonv71: CpuModel = .{
.name = "hexagonv71",
.llvm_name = "hexagonv71",
.features = featureSet(&[_]Feature{
.cabac,
.compound,
.duplex,
.mem_noshuf,
.memops,
.nvj,
.nvs,
.small_data,
.v5,
.v55,
.v60,
.v62,
.v65,
.v66,
.v67,
.v68,
.v69,
.v71,
}),
};
pub const hexagonv71t: CpuModel = .{
.name = "hexagonv71t",
.llvm_name = "hexagonv71t",
.features = featureSet(&[_]Feature{
.audio,
.compound,
.mem_noshuf,
.memops,
.nvs,
.small_data,
.tinycore,
.v5,
.v55,
.v60,
.v62,
.v65,
.v66,
.v67,
.v68,
.v69,
.v71,
}),
};
pub const hexagonv73: CpuModel = .{
.name = "hexagonv73",
.llvm_name = "hexagonv73",
.features = featureSet(&[_]Feature{
.compound,
.duplex,
.mem_noshuf,
.memops,
.nvj,
.nvs,
.small_data,
.v5,
.v55,
.v60,
.v62,
.v65,
.v66,
.v67,
.v68,
.v69,
.v71,
.v73,
}),
};
}