Source
   pub const cpu = struct {
    pub const bleeding_edge: CpuModel = .{
        .name = "bleeding_edge",
        .llvm_name = "bleeding-edge",
        .features = featureSet(&[_]Feature{
            .atomics,
            .bulk_memory,
            .exception_handling,
            .extended_const,
            .fp16,
            .multimemory,
            .multivalue,
            .mutable_globals,
            .nontrapping_fptoint,
            .reference_types,
            .relaxed_simd,
            .sign_ext,
            .simd128,
            .tail_call,
        }),
    };
    pub const generic: CpuModel = .{
        .name = "generic",
        .llvm_name = "generic",
        .features = featureSet(&[_]Feature{
            .bulk_memory,
            .multivalue,
            .mutable_globals,
            .nontrapping_fptoint,
            .reference_types,
            .sign_ext,
        }),
    };
    pub const lime1: CpuModel = .{
        .name = "lime1",
        .llvm_name = "lime1",
        .features = featureSet(&[_]Feature{
            .bulk_memory_opt,
            .call_indirect_overlong,
            .extended_const,
            .multivalue,
            .mutable_globals,
            .nontrapping_fptoint,
            .sign_ext,
        }),
    };
    pub const mvp: CpuModel = .{
        .name = "mvp",
        .llvm_name = "mvp",
        .features = featureSet(&[_]Feature{}),
    };
}