structstd.Target.amdgcn.cpu[src]

Values

Constantbonaire[src]

Source Code

Source code
pub const bonaire: CpuModel = .{
    .name = "bonaire",
    .llvm_name = "bonaire",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sea_islands,
    }),
}

Constantcarrizo[src]

Source Code

Source code
pub const carrizo: CpuModel = .{
    .name = "carrizo",
    .llvm_name = "carrizo",
    .features = featureSet(&[_]Feature{
        .fast_fmaf,
        .half_rate_64_ops,
        .ldsbankcount32,
        .unpacked_d16_vmem,
        .volcanic_islands,
        .xnack_support,
    }),
}

Constantfiji[src]

Source Code

Source code
pub const fiji: CpuModel = .{
    .name = "fiji",
    .llvm_name = "fiji",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constantgeneric[src]

Source Code

Source code
pub const generic: CpuModel = .{
    .name = "generic",
    .llvm_name = "generic",
    .features = featureSet(&[_]Feature{
        .gds,
        .gws,
        .wavefrontsize64,
    }),
}

Constantgeneric_hsa[src]

Source Code

Source code
pub const generic_hsa: CpuModel = .{
    .name = "generic_hsa",
    .llvm_name = "generic-hsa",
    .features = featureSet(&[_]Feature{
        .flat_address_space,
        .gds,
        .gws,
        .wavefrontsize64,
    }),
}

Constantgfx1010[src]

Source Code

Source code
pub const gfx1010: CpuModel = .{
    .name = "gfx1010",
    .llvm_name = "gfx1010",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .ds_src2_insts,
        .flat_segment_offset_bug,
        .get_wave_id_inst,
        .gfx10,
        .inst_fwd_prefetch_bug,
        .lds_branch_vmem_war_hazard,
        .lds_misaligned_bug,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .negative_unaligned_scratch_offset_bug,
        .nsa_clause_bug,
        .nsa_encoding,
        .nsa_to_vmem_bug,
        .offset_3f_bug,
        .scalar_atomics,
        .scalar_flat_scratch_insts,
        .scalar_stores,
        .smem_to_vector_write_hazard,
        .vcmpx_exec_war_hazard,
        .vcmpx_permlane_hazard,
        .vmem_to_scalar_write_hazard,
        .xnack_support,
    }),
}

Constantgfx1011[src]

Source Code

Source code
pub const gfx1011: CpuModel = .{
    .name = "gfx1011",
    .llvm_name = "gfx1011",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .ds_src2_insts,
        .flat_segment_offset_bug,
        .get_wave_id_inst,
        .gfx10,
        .inst_fwd_prefetch_bug,
        .lds_branch_vmem_war_hazard,
        .lds_misaligned_bug,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .negative_unaligned_scratch_offset_bug,
        .nsa_clause_bug,
        .nsa_encoding,
        .nsa_to_vmem_bug,
        .offset_3f_bug,
        .scalar_atomics,
        .scalar_flat_scratch_insts,
        .scalar_stores,
        .smem_to_vector_write_hazard,
        .vcmpx_exec_war_hazard,
        .vcmpx_permlane_hazard,
        .vmem_to_scalar_write_hazard,
        .xnack_support,
    }),
}

Constantgfx1012[src]

Source Code

Source code
pub const gfx1012: CpuModel = .{
    .name = "gfx1012",
    .llvm_name = "gfx1012",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .ds_src2_insts,
        .flat_segment_offset_bug,
        .get_wave_id_inst,
        .gfx10,
        .inst_fwd_prefetch_bug,
        .lds_branch_vmem_war_hazard,
        .lds_misaligned_bug,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .negative_unaligned_scratch_offset_bug,
        .nsa_clause_bug,
        .nsa_encoding,
        .nsa_to_vmem_bug,
        .offset_3f_bug,
        .scalar_atomics,
        .scalar_flat_scratch_insts,
        .scalar_stores,
        .smem_to_vector_write_hazard,
        .vcmpx_exec_war_hazard,
        .vcmpx_permlane_hazard,
        .vmem_to_scalar_write_hazard,
        .xnack_support,
    }),
}

Constantgfx1013[src]

Source Code

Source code
pub const gfx1013: CpuModel = .{
    .name = "gfx1013",
    .llvm_name = "gfx1013",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .ds_src2_insts,
        .flat_segment_offset_bug,
        .get_wave_id_inst,
        .gfx10,
        .gfx10_a_encoding,
        .inst_fwd_prefetch_bug,
        .lds_branch_vmem_war_hazard,
        .lds_misaligned_bug,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .negative_unaligned_scratch_offset_bug,
        .nsa_clause_bug,
        .nsa_encoding,
        .nsa_to_vmem_bug,
        .offset_3f_bug,
        .scalar_atomics,
        .scalar_flat_scratch_insts,
        .scalar_stores,
        .smem_to_vector_write_hazard,
        .vcmpx_exec_war_hazard,
        .vcmpx_permlane_hazard,
        .vmem_to_scalar_write_hazard,
        .xnack_support,
    }),
}

Constantgfx1030[src]

Source Code

Source code
pub const gfx1030: CpuModel = .{
    .name = "gfx1030",
    .llvm_name = "gfx1030",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .gfx10,
        .gfx10_3_insts,
        .gfx10_a_encoding,
        .gfx10_b_encoding,
        .ldsbankcount32,
        .nsa_encoding,
        .shader_cycles_register,
    }),
}

Constantgfx1031[src]

Source Code

Source code
pub const gfx1031: CpuModel = .{
    .name = "gfx1031",
    .llvm_name = "gfx1031",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .gfx10,
        .gfx10_3_insts,
        .gfx10_a_encoding,
        .gfx10_b_encoding,
        .ldsbankcount32,
        .nsa_encoding,
        .shader_cycles_register,
    }),
}

Constantgfx1032[src]

Source Code

Source code
pub const gfx1032: CpuModel = .{
    .name = "gfx1032",
    .llvm_name = "gfx1032",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .gfx10,
        .gfx10_3_insts,
        .gfx10_a_encoding,
        .gfx10_b_encoding,
        .ldsbankcount32,
        .nsa_encoding,
        .shader_cycles_register,
    }),
}

Constantgfx1033[src]

Source Code

Source code
pub const gfx1033: CpuModel = .{
    .name = "gfx1033",
    .llvm_name = "gfx1033",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .gfx10,
        .gfx10_3_insts,
        .gfx10_a_encoding,
        .gfx10_b_encoding,
        .ldsbankcount32,
        .nsa_encoding,
        .shader_cycles_register,
    }),
}

Constantgfx1034[src]

Source Code

Source code
pub const gfx1034: CpuModel = .{
    .name = "gfx1034",
    .llvm_name = "gfx1034",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .gfx10,
        .gfx10_3_insts,
        .gfx10_a_encoding,
        .gfx10_b_encoding,
        .ldsbankcount32,
        .nsa_encoding,
        .shader_cycles_register,
    }),
}

Constantgfx1035[src]

Source Code

Source code
pub const gfx1035: CpuModel = .{
    .name = "gfx1035",
    .llvm_name = "gfx1035",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .gfx10,
        .gfx10_3_insts,
        .gfx10_a_encoding,
        .gfx10_b_encoding,
        .ldsbankcount32,
        .nsa_encoding,
        .shader_cycles_register,
    }),
}

Constantgfx1036[src]

Source Code

Source code
pub const gfx1036: CpuModel = .{
    .name = "gfx1036",
    .llvm_name = "gfx1036",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .gfx10,
        .gfx10_3_insts,
        .gfx10_a_encoding,
        .gfx10_b_encoding,
        .ldsbankcount32,
        .nsa_encoding,
        .shader_cycles_register,
    }),
}

Constantgfx10_1_generic[src]

Source Code

Source code
pub const gfx10_1_generic: CpuModel = .{
    .name = "gfx10_1_generic",
    .llvm_name = "gfx10-1-generic",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .ds_src2_insts,
        .flat_segment_offset_bug,
        .get_wave_id_inst,
        .gfx10,
        .inst_fwd_prefetch_bug,
        .lds_branch_vmem_war_hazard,
        .lds_misaligned_bug,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .negative_unaligned_scratch_offset_bug,
        .nsa_clause_bug,
        .nsa_encoding,
        .nsa_to_vmem_bug,
        .offset_3f_bug,
        .requires_cov6,
        .scalar_atomics,
        .scalar_flat_scratch_insts,
        .scalar_stores,
        .smem_to_vector_write_hazard,
        .vcmpx_exec_war_hazard,
        .vcmpx_permlane_hazard,
        .vmem_to_scalar_write_hazard,
        .xnack_support,
    }),
}

Constantgfx10_3_generic[src]

Source Code

Source code
pub const gfx10_3_generic: CpuModel = .{
    .name = "gfx10_3_generic",
    .llvm_name = "gfx10-3-generic",
    .features = featureSet(&[_]Feature{
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .gfx10,
        .gfx10_3_insts,
        .gfx10_a_encoding,
        .gfx10_b_encoding,
        .ldsbankcount32,
        .nsa_encoding,
        .requires_cov6,
        .shader_cycles_register,
    }),
}

Constantgfx1100[src]

Source Code

Source code
pub const gfx1100: CpuModel = .{
    .name = "gfx1100",
    .llvm_name = "gfx1100",
    .features = featureSet(&[_]Feature{
        .allocate1_5xvgprs,
        .architected_flat_scratch,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot5_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .flat_atomic_fadd_f32_inst,
        .gfx11,
        .image_insts,
        .ldsbankcount32,
        .mad_intra_fwd_bug,
        .memory_atomic_fadd_f32_denormal_support,
        .msaa_load_dst_sel_bug,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .priv_enabled_trap2_nop_bug,
        .shader_cycles_register,
        .user_sgpr_init16_bug,
        .valu_trans_use_hazard,
        .vcmpx_permlane_hazard,
    }),
}

Constantgfx1101[src]

Source Code

Source code
pub const gfx1101: CpuModel = .{
    .name = "gfx1101",
    .llvm_name = "gfx1101",
    .features = featureSet(&[_]Feature{
        .allocate1_5xvgprs,
        .architected_flat_scratch,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot5_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .flat_atomic_fadd_f32_inst,
        .gfx11,
        .image_insts,
        .ldsbankcount32,
        .mad_intra_fwd_bug,
        .memory_atomic_fadd_f32_denormal_support,
        .msaa_load_dst_sel_bug,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .priv_enabled_trap2_nop_bug,
        .shader_cycles_register,
        .valu_trans_use_hazard,
        .vcmpx_permlane_hazard,
    }),
}

Constantgfx1102[src]

Source Code

Source code
pub const gfx1102: CpuModel = .{
    .name = "gfx1102",
    .llvm_name = "gfx1102",
    .features = featureSet(&[_]Feature{
        .architected_flat_scratch,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot5_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .flat_atomic_fadd_f32_inst,
        .gfx11,
        .image_insts,
        .ldsbankcount32,
        .mad_intra_fwd_bug,
        .memory_atomic_fadd_f32_denormal_support,
        .msaa_load_dst_sel_bug,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .priv_enabled_trap2_nop_bug,
        .shader_cycles_register,
        .user_sgpr_init16_bug,
        .valu_trans_use_hazard,
        .vcmpx_permlane_hazard,
    }),
}

Constantgfx1103[src]

Source Code

Source code
pub const gfx1103: CpuModel = .{
    .name = "gfx1103",
    .llvm_name = "gfx1103",
    .features = featureSet(&[_]Feature{
        .architected_flat_scratch,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot5_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .flat_atomic_fadd_f32_inst,
        .gfx11,
        .image_insts,
        .ldsbankcount32,
        .mad_intra_fwd_bug,
        .memory_atomic_fadd_f32_denormal_support,
        .msaa_load_dst_sel_bug,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .priv_enabled_trap2_nop_bug,
        .shader_cycles_register,
        .valu_trans_use_hazard,
        .vcmpx_permlane_hazard,
    }),
}

Constantgfx1150[src]

Source Code

Source code
pub const gfx1150: CpuModel = .{
    .name = "gfx1150",
    .llvm_name = "gfx1150",
    .features = featureSet(&[_]Feature{
        .architected_flat_scratch,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot5_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .dpp_src1_sgpr,
        .flat_atomic_fadd_f32_inst,
        .gfx11,
        .image_insts,
        .ldsbankcount32,
        .memory_atomic_fadd_f32_denormal_support,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .required_export_priority,
        .salu_float,
        .shader_cycles_register,
        .vcmpx_permlane_hazard,
        .vgpr_singleuse_hint,
    }),
}

Constantgfx1151[src]

Source Code

Source code
pub const gfx1151: CpuModel = .{
    .name = "gfx1151",
    .llvm_name = "gfx1151",
    .features = featureSet(&[_]Feature{
        .allocate1_5xvgprs,
        .architected_flat_scratch,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot5_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .dpp_src1_sgpr,
        .flat_atomic_fadd_f32_inst,
        .gfx11,
        .image_insts,
        .ldsbankcount32,
        .memory_atomic_fadd_f32_denormal_support,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .required_export_priority,
        .salu_float,
        .shader_cycles_register,
        .vcmpx_permlane_hazard,
        .vgpr_singleuse_hint,
    }),
}

Constantgfx1152[src]

Source Code

Source code
pub const gfx1152: CpuModel = .{
    .name = "gfx1152",
    .llvm_name = "gfx1152",
    .features = featureSet(&[_]Feature{
        .architected_flat_scratch,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot5_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .dpp_src1_sgpr,
        .flat_atomic_fadd_f32_inst,
        .gfx11,
        .image_insts,
        .ldsbankcount32,
        .memory_atomic_fadd_f32_denormal_support,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .required_export_priority,
        .salu_float,
        .shader_cycles_register,
        .vcmpx_permlane_hazard,
        .vgpr_singleuse_hint,
    }),
}

Constantgfx11_generic[src]

Source Code

Source code
pub const gfx11_generic: CpuModel = .{
    .name = "gfx11_generic",
    .llvm_name = "gfx11-generic",
    .features = featureSet(&[_]Feature{
        .architected_flat_scratch,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot5_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .flat_atomic_fadd_f32_inst,
        .gfx11,
        .image_insts,
        .ldsbankcount32,
        .mad_intra_fwd_bug,
        .memory_atomic_fadd_f32_denormal_support,
        .msaa_load_dst_sel_bug,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .priv_enabled_trap2_nop_bug,
        .required_export_priority,
        .requires_cov6,
        .shader_cycles_register,
        .user_sgpr_init16_bug,
        .valu_trans_use_hazard,
        .vcmpx_permlane_hazard,
    }),
}

Constantgfx1200[src]

Source Code

Source code
pub const gfx1200: CpuModel = .{
    .name = "gfx1200",
    .llvm_name = "gfx1200",
    .features = featureSet(&[_]Feature{
        .allocate1_5xvgprs,
        .architected_flat_scratch,
        .architected_sgprs,
        .atomic_buffer_global_pk_add_f16_insts,
        .atomic_buffer_pk_add_bf16_inst,
        .atomic_ds_pk_add_16_insts,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .atomic_flat_pk_add_16_insts,
        .atomic_global_pk_add_bf16_inst,
        .dl_insts,
        .dot10_insts,
        .dot11_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .dpp_src1_sgpr,
        .extended_image_insts,
        .flat_atomic_fadd_f32_inst,
        .fp8_conversion_insts,
        .gfx12,
        .image_insts,
        .ldsbankcount32,
        .memory_atomic_fadd_f32_denormal_support,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .pseudo_scalar_trans,
        .restricted_soffset,
        .salu_float,
        .scalar_dwordx3_loads,
        .shader_cycles_hi_lo_registers,
        .vcmpx_permlane_hazard,
        .vgpr_singleuse_hint,
    }),
}

Constantgfx1201[src]

Source Code

Source code
pub const gfx1201: CpuModel = .{
    .name = "gfx1201",
    .llvm_name = "gfx1201",
    .features = featureSet(&[_]Feature{
        .allocate1_5xvgprs,
        .architected_flat_scratch,
        .architected_sgprs,
        .atomic_buffer_global_pk_add_f16_insts,
        .atomic_buffer_pk_add_bf16_inst,
        .atomic_ds_pk_add_16_insts,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .atomic_flat_pk_add_16_insts,
        .atomic_global_pk_add_bf16_inst,
        .dl_insts,
        .dot10_insts,
        .dot11_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .dpp_src1_sgpr,
        .extended_image_insts,
        .flat_atomic_fadd_f32_inst,
        .fp8_conversion_insts,
        .gfx12,
        .image_insts,
        .ldsbankcount32,
        .memory_atomic_fadd_f32_denormal_support,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .pseudo_scalar_trans,
        .restricted_soffset,
        .salu_float,
        .scalar_dwordx3_loads,
        .shader_cycles_hi_lo_registers,
        .vcmpx_permlane_hazard,
        .vgpr_singleuse_hint,
    }),
}

Constantgfx12_generic[src]

Source Code

Source code
pub const gfx12_generic: CpuModel = .{
    .name = "gfx12_generic",
    .llvm_name = "gfx12-generic",
    .features = featureSet(&[_]Feature{
        .allocate1_5xvgprs,
        .architected_flat_scratch,
        .architected_sgprs,
        .atomic_buffer_global_pk_add_f16_insts,
        .atomic_buffer_pk_add_bf16_inst,
        .atomic_ds_pk_add_16_insts,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .atomic_flat_pk_add_16_insts,
        .atomic_global_pk_add_bf16_inst,
        .dl_insts,
        .dot10_insts,
        .dot11_insts,
        .dot7_insts,
        .dot8_insts,
        .dot9_insts,
        .dpp_src1_sgpr,
        .extended_image_insts,
        .flat_atomic_fadd_f32_inst,
        .fp8_conversion_insts,
        .gfx12,
        .image_insts,
        .ldsbankcount32,
        .memory_atomic_fadd_f32_denormal_support,
        .nsa_encoding,
        .packed_tid,
        .partial_nsa_encoding,
        .pseudo_scalar_trans,
        .requires_cov6,
        .restricted_soffset,
        .salu_float,
        .scalar_dwordx3_loads,
        .shader_cycles_hi_lo_registers,
        .vcmpx_permlane_hazard,
        .vgpr_singleuse_hint,
    }),
}

Constantgfx600[src]

Source Code

Source code
pub const gfx600: CpuModel = .{
    .name = "gfx600",
    .llvm_name = "gfx600",
    .features = featureSet(&[_]Feature{
        .fast_fmaf,
        .half_rate_64_ops,
        .southern_islands,
    }),
}

Constantgfx601[src]

Source Code

Source code
pub const gfx601: CpuModel = .{
    .name = "gfx601",
    .llvm_name = "gfx601",
    .features = featureSet(&[_]Feature{
        .southern_islands,
    }),
}

Constantgfx602[src]

Source Code

Source code
pub const gfx602: CpuModel = .{
    .name = "gfx602",
    .llvm_name = "gfx602",
    .features = featureSet(&[_]Feature{
        .southern_islands,
    }),
}

Constantgfx700[src]

Source Code

Source code
pub const gfx700: CpuModel = .{
    .name = "gfx700",
    .llvm_name = "gfx700",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sea_islands,
    }),
}

Constantgfx701[src]

Source Code

Source code
pub const gfx701: CpuModel = .{
    .name = "gfx701",
    .llvm_name = "gfx701",
    .features = featureSet(&[_]Feature{
        .fast_fmaf,
        .half_rate_64_ops,
        .ldsbankcount32,
        .sea_islands,
    }),
}

Constantgfx702[src]

Source Code

Source code
pub const gfx702: CpuModel = .{
    .name = "gfx702",
    .llvm_name = "gfx702",
    .features = featureSet(&[_]Feature{
        .fast_fmaf,
        .ldsbankcount16,
        .sea_islands,
    }),
}

Constantgfx703[src]

Source Code

Source code
pub const gfx703: CpuModel = .{
    .name = "gfx703",
    .llvm_name = "gfx703",
    .features = featureSet(&[_]Feature{
        .ldsbankcount16,
        .sea_islands,
    }),
}

Constantgfx704[src]

Source Code

Source code
pub const gfx704: CpuModel = .{
    .name = "gfx704",
    .llvm_name = "gfx704",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sea_islands,
    }),
}

Constantgfx705[src]

Source Code

Source code
pub const gfx705: CpuModel = .{
    .name = "gfx705",
    .llvm_name = "gfx705",
    .features = featureSet(&[_]Feature{
        .ldsbankcount16,
        .sea_islands,
    }),
}

Constantgfx801[src]

Source Code

Source code
pub const gfx801: CpuModel = .{
    .name = "gfx801",
    .llvm_name = "gfx801",
    .features = featureSet(&[_]Feature{
        .fast_fmaf,
        .half_rate_64_ops,
        .ldsbankcount32,
        .unpacked_d16_vmem,
        .volcanic_islands,
        .xnack_support,
    }),
}

Constantgfx802[src]

Source Code

Source code
pub const gfx802: CpuModel = .{
    .name = "gfx802",
    .llvm_name = "gfx802",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sgpr_init_bug,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constantgfx803[src]

Source Code

Source code
pub const gfx803: CpuModel = .{
    .name = "gfx803",
    .llvm_name = "gfx803",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constantgfx805[src]

Source Code

Source code
pub const gfx805: CpuModel = .{
    .name = "gfx805",
    .llvm_name = "gfx805",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sgpr_init_bug,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constantgfx810[src]

Source Code

Source code
pub const gfx810: CpuModel = .{
    .name = "gfx810",
    .llvm_name = "gfx810",
    .features = featureSet(&[_]Feature{
        .image_gather4_d16_bug,
        .image_store_d16_bug,
        .ldsbankcount16,
        .volcanic_islands,
        .xnack_support,
    }),
}

Constantgfx900[src]

Source Code

Source code
pub const gfx900: CpuModel = .{
    .name = "gfx900",
    .llvm_name = "gfx900",
    .features = featureSet(&[_]Feature{
        .ds_src2_insts,
        .extended_image_insts,
        .gds,
        .gfx9,
        .image_gather4_d16_bug,
        .image_insts,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .mad_mix_insts,
    }),
}

Constantgfx902[src]

Source Code

Source code
pub const gfx902: CpuModel = .{
    .name = "gfx902",
    .llvm_name = "gfx902",
    .features = featureSet(&[_]Feature{
        .ds_src2_insts,
        .extended_image_insts,
        .gds,
        .gfx9,
        .image_gather4_d16_bug,
        .image_insts,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .mad_mix_insts,
    }),
}

Constantgfx904[src]

Source Code

Source code
pub const gfx904: CpuModel = .{
    .name = "gfx904",
    .llvm_name = "gfx904",
    .features = featureSet(&[_]Feature{
        .ds_src2_insts,
        .extended_image_insts,
        .fma_mix_insts,
        .gds,
        .gfx9,
        .image_gather4_d16_bug,
        .image_insts,
        .ldsbankcount32,
        .mad_mac_f32_insts,
    }),
}

Constantgfx906[src]

Source Code

Source code
pub const gfx906: CpuModel = .{
    .name = "gfx906",
    .llvm_name = "gfx906",
    .features = featureSet(&[_]Feature{
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot7_insts,
        .ds_src2_insts,
        .extended_image_insts,
        .fma_mix_insts,
        .gds,
        .gfx9,
        .half_rate_64_ops,
        .image_gather4_d16_bug,
        .image_insts,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .sramecc_support,
    }),
}

Constantgfx908[src]

Source Code

Source code
pub const gfx908: CpuModel = .{
    .name = "gfx908",
    .llvm_name = "gfx908",
    .features = featureSet(&[_]Feature{
        .atomic_buffer_global_pk_add_f16_no_rtn_insts,
        .atomic_fadd_no_rtn_insts,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot3_insts,
        .dot4_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .ds_src2_insts,
        .extended_image_insts,
        .fma_mix_insts,
        .gds,
        .gfx9,
        .half_rate_64_ops,
        .image_gather4_d16_bug,
        .image_insts,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .mai_insts,
        .mfma_inline_literal_bug,
        .pk_fmac_f16_inst,
        .sramecc_support,
    }),
}

Constantgfx909[src]

Source Code

Source code
pub const gfx909: CpuModel = .{
    .name = "gfx909",
    .llvm_name = "gfx909",
    .features = featureSet(&[_]Feature{
        .ds_src2_insts,
        .extended_image_insts,
        .gds,
        .gfx9,
        .image_gather4_d16_bug,
        .image_insts,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .mad_mix_insts,
    }),
}

Constantgfx90a[src]

Source Code

Source code
pub const gfx90a: CpuModel = .{
    .name = "gfx90a",
    .llvm_name = "gfx90a",
    .features = featureSet(&[_]Feature{
        .atomic_buffer_global_pk_add_f16_insts,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .atomic_fmin_fmax_flat_f64,
        .atomic_fmin_fmax_global_f64,
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot3_insts,
        .dot4_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .dpp_64bit,
        .flat_buffer_global_fadd_f64_inst,
        .fma_mix_insts,
        .fmacf64_inst,
        .full_rate_64_ops,
        .gfx9,
        .gfx90a_insts,
        .image_insts,
        .kernarg_preload,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .mai_insts,
        .packed_fp32_ops,
        .packed_tid,
        .pk_fmac_f16_inst,
        .sramecc_support,
    }),
}

Constantgfx90c[src]

Source Code

Source code
pub const gfx90c: CpuModel = .{
    .name = "gfx90c",
    .llvm_name = "gfx90c",
    .features = featureSet(&[_]Feature{
        .ds_src2_insts,
        .extended_image_insts,
        .gds,
        .gfx9,
        .image_gather4_d16_bug,
        .image_insts,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .mad_mix_insts,
    }),
}

Constantgfx940[src]

Source Code

Source code
pub const gfx940: CpuModel = .{
    .name = "gfx940",
    .llvm_name = "gfx940",
    .features = featureSet(&[_]Feature{
        .agent_scope_fine_grained_remote_memory_atomics,
        .architected_flat_scratch,
        .atomic_buffer_global_pk_add_f16_insts,
        .atomic_ds_pk_add_16_insts,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .atomic_flat_pk_add_16_insts,
        .atomic_fmin_fmax_flat_f64,
        .atomic_fmin_fmax_global_f64,
        .atomic_global_pk_add_bf16_inst,
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot3_insts,
        .dot4_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .dpp_64bit,
        .flat_atomic_fadd_f32_inst,
        .flat_buffer_global_fadd_f64_inst,
        .fma_mix_insts,
        .fmacf64_inst,
        .force_store_sc0_sc1,
        .fp8_conversion_insts,
        .fp8_insts,
        .full_rate_64_ops,
        .gfx9,
        .gfx90a_insts,
        .gfx940_insts,
        .kernarg_preload,
        .ldsbankcount32,
        .mai_insts,
        .memory_atomic_fadd_f32_denormal_support,
        .packed_fp32_ops,
        .packed_tid,
        .pk_fmac_f16_inst,
        .sramecc_support,
    }),
}

Constantgfx941[src]

Source Code

Source code
pub const gfx941: CpuModel = .{
    .name = "gfx941",
    .llvm_name = "gfx941",
    .features = featureSet(&[_]Feature{
        .agent_scope_fine_grained_remote_memory_atomics,
        .architected_flat_scratch,
        .atomic_buffer_global_pk_add_f16_insts,
        .atomic_ds_pk_add_16_insts,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .atomic_flat_pk_add_16_insts,
        .atomic_fmin_fmax_flat_f64,
        .atomic_fmin_fmax_global_f64,
        .atomic_global_pk_add_bf16_inst,
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot3_insts,
        .dot4_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .dpp_64bit,
        .flat_atomic_fadd_f32_inst,
        .flat_buffer_global_fadd_f64_inst,
        .fma_mix_insts,
        .fmacf64_inst,
        .force_store_sc0_sc1,
        .fp8_conversion_insts,
        .fp8_insts,
        .full_rate_64_ops,
        .gfx9,
        .gfx90a_insts,
        .gfx940_insts,
        .kernarg_preload,
        .ldsbankcount32,
        .mai_insts,
        .memory_atomic_fadd_f32_denormal_support,
        .packed_fp32_ops,
        .packed_tid,
        .pk_fmac_f16_inst,
        .sramecc_support,
    }),
}

Constantgfx942[src]

Source Code

Source code
pub const gfx942: CpuModel = .{
    .name = "gfx942",
    .llvm_name = "gfx942",
    .features = featureSet(&[_]Feature{
        .agent_scope_fine_grained_remote_memory_atomics,
        .architected_flat_scratch,
        .atomic_buffer_global_pk_add_f16_insts,
        .atomic_ds_pk_add_16_insts,
        .atomic_fadd_no_rtn_insts,
        .atomic_fadd_rtn_insts,
        .atomic_flat_pk_add_16_insts,
        .atomic_fmin_fmax_flat_f64,
        .atomic_fmin_fmax_global_f64,
        .atomic_global_pk_add_bf16_inst,
        .back_off_barrier,
        .dl_insts,
        .dot10_insts,
        .dot1_insts,
        .dot2_insts,
        .dot3_insts,
        .dot4_insts,
        .dot5_insts,
        .dot6_insts,
        .dot7_insts,
        .dpp_64bit,
        .flat_atomic_fadd_f32_inst,
        .flat_buffer_global_fadd_f64_inst,
        .fma_mix_insts,
        .fmacf64_inst,
        .fp8_conversion_insts,
        .fp8_insts,
        .full_rate_64_ops,
        .gfx9,
        .gfx90a_insts,
        .gfx940_insts,
        .kernarg_preload,
        .ldsbankcount32,
        .mai_insts,
        .memory_atomic_fadd_f32_denormal_support,
        .packed_fp32_ops,
        .packed_tid,
        .pk_fmac_f16_inst,
        .sramecc_support,
    }),
}

Constantgfx9_generic[src]

Source Code

Source code
pub const gfx9_generic: CpuModel = .{
    .name = "gfx9_generic",
    .llvm_name = "gfx9-generic",
    .features = featureSet(&[_]Feature{
        .ds_src2_insts,
        .extended_image_insts,
        .gds,
        .gfx9,
        .image_gather4_d16_bug,
        .image_insts,
        .ldsbankcount32,
        .mad_mac_f32_insts,
        .requires_cov6,
    }),
}

Constanthainan[src]

Source Code

Source code
pub const hainan: CpuModel = .{
    .name = "hainan",
    .llvm_name = "hainan",
    .features = featureSet(&[_]Feature{
        .southern_islands,
    }),
}

Constanthawaii[src]

Source Code

Source code
pub const hawaii: CpuModel = .{
    .name = "hawaii",
    .llvm_name = "hawaii",
    .features = featureSet(&[_]Feature{
        .fast_fmaf,
        .half_rate_64_ops,
        .ldsbankcount32,
        .sea_islands,
    }),
}

Constanticeland[src]

Source Code

Source code
pub const iceland: CpuModel = .{
    .name = "iceland",
    .llvm_name = "iceland",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sgpr_init_bug,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constantkabini[src]

Source Code

Source code
pub const kabini: CpuModel = .{
    .name = "kabini",
    .llvm_name = "kabini",
    .features = featureSet(&[_]Feature{
        .ldsbankcount16,
        .sea_islands,
    }),
}

Constantkaveri[src]

Source Code

Source code
pub const kaveri: CpuModel = .{
    .name = "kaveri",
    .llvm_name = "kaveri",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sea_islands,
    }),
}

Constantmullins[src]

Source Code

Source code
pub const mullins: CpuModel = .{
    .name = "mullins",
    .llvm_name = "mullins",
    .features = featureSet(&[_]Feature{
        .ldsbankcount16,
        .sea_islands,
    }),
}

Constantoland[src]

Source Code

Source code
pub const oland: CpuModel = .{
    .name = "oland",
    .llvm_name = "oland",
    .features = featureSet(&[_]Feature{
        .southern_islands,
    }),
}

Constantpitcairn[src]

Source Code

Source code
pub const pitcairn: CpuModel = .{
    .name = "pitcairn",
    .llvm_name = "pitcairn",
    .features = featureSet(&[_]Feature{
        .southern_islands,
    }),
}

Constantpolaris10[src]

Source Code

Source code
pub const polaris10: CpuModel = .{
    .name = "polaris10",
    .llvm_name = "polaris10",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constantpolaris11[src]

Source Code

Source code
pub const polaris11: CpuModel = .{
    .name = "polaris11",
    .llvm_name = "polaris11",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constantstoney[src]

Source Code

Source code
pub const stoney: CpuModel = .{
    .name = "stoney",
    .llvm_name = "stoney",
    .features = featureSet(&[_]Feature{
        .image_gather4_d16_bug,
        .image_store_d16_bug,
        .ldsbankcount16,
        .volcanic_islands,
        .xnack_support,
    }),
}

Constanttahiti[src]

Source Code

Source code
pub const tahiti: CpuModel = .{
    .name = "tahiti",
    .llvm_name = "tahiti",
    .features = featureSet(&[_]Feature{
        .fast_fmaf,
        .half_rate_64_ops,
        .southern_islands,
    }),
}

Constanttonga[src]

Source Code

Source code
pub const tonga: CpuModel = .{
    .name = "tonga",
    .llvm_name = "tonga",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sgpr_init_bug,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constanttongapro[src]

Source Code

Source code
pub const tongapro: CpuModel = .{
    .name = "tongapro",
    .llvm_name = "tongapro",
    .features = featureSet(&[_]Feature{
        .ldsbankcount32,
        .sgpr_init_bug,
        .unpacked_d16_vmem,
        .volcanic_islands,
    }),
}

Constantverde[src]

Source Code

Source code
pub const verde: CpuModel = .{
    .name = "verde",
    .llvm_name = "verde",
    .features = featureSet(&[_]Feature{
        .southern_islands,
    }),
}

Source Code

Source code
pub const cpu = struct {
    pub const bonaire: CpuModel = .{
        .name = "bonaire",
        .llvm_name = "bonaire",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sea_islands,
        }),
    };
    pub const carrizo: CpuModel = .{
        .name = "carrizo",
        .llvm_name = "carrizo",
        .features = featureSet(&[_]Feature{
            .fast_fmaf,
            .half_rate_64_ops,
            .ldsbankcount32,
            .unpacked_d16_vmem,
            .volcanic_islands,
            .xnack_support,
        }),
    };
    pub const fiji: CpuModel = .{
        .name = "fiji",
        .llvm_name = "fiji",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const generic: CpuModel = .{
        .name = "generic",
        .llvm_name = "generic",
        .features = featureSet(&[_]Feature{
            .gds,
            .gws,
            .wavefrontsize64,
        }),
    };
    pub const generic_hsa: CpuModel = .{
        .name = "generic_hsa",
        .llvm_name = "generic-hsa",
        .features = featureSet(&[_]Feature{
            .flat_address_space,
            .gds,
            .gws,
            .wavefrontsize64,
        }),
    };
    pub const gfx1010: CpuModel = .{
        .name = "gfx1010",
        .llvm_name = "gfx1010",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .ds_src2_insts,
            .flat_segment_offset_bug,
            .get_wave_id_inst,
            .gfx10,
            .inst_fwd_prefetch_bug,
            .lds_branch_vmem_war_hazard,
            .lds_misaligned_bug,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .negative_unaligned_scratch_offset_bug,
            .nsa_clause_bug,
            .nsa_encoding,
            .nsa_to_vmem_bug,
            .offset_3f_bug,
            .scalar_atomics,
            .scalar_flat_scratch_insts,
            .scalar_stores,
            .smem_to_vector_write_hazard,
            .vcmpx_exec_war_hazard,
            .vcmpx_permlane_hazard,
            .vmem_to_scalar_write_hazard,
            .xnack_support,
        }),
    };
    pub const gfx1011: CpuModel = .{
        .name = "gfx1011",
        .llvm_name = "gfx1011",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .ds_src2_insts,
            .flat_segment_offset_bug,
            .get_wave_id_inst,
            .gfx10,
            .inst_fwd_prefetch_bug,
            .lds_branch_vmem_war_hazard,
            .lds_misaligned_bug,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .negative_unaligned_scratch_offset_bug,
            .nsa_clause_bug,
            .nsa_encoding,
            .nsa_to_vmem_bug,
            .offset_3f_bug,
            .scalar_atomics,
            .scalar_flat_scratch_insts,
            .scalar_stores,
            .smem_to_vector_write_hazard,
            .vcmpx_exec_war_hazard,
            .vcmpx_permlane_hazard,
            .vmem_to_scalar_write_hazard,
            .xnack_support,
        }),
    };
    pub const gfx1012: CpuModel = .{
        .name = "gfx1012",
        .llvm_name = "gfx1012",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .ds_src2_insts,
            .flat_segment_offset_bug,
            .get_wave_id_inst,
            .gfx10,
            .inst_fwd_prefetch_bug,
            .lds_branch_vmem_war_hazard,
            .lds_misaligned_bug,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .negative_unaligned_scratch_offset_bug,
            .nsa_clause_bug,
            .nsa_encoding,
            .nsa_to_vmem_bug,
            .offset_3f_bug,
            .scalar_atomics,
            .scalar_flat_scratch_insts,
            .scalar_stores,
            .smem_to_vector_write_hazard,
            .vcmpx_exec_war_hazard,
            .vcmpx_permlane_hazard,
            .vmem_to_scalar_write_hazard,
            .xnack_support,
        }),
    };
    pub const gfx1013: CpuModel = .{
        .name = "gfx1013",
        .llvm_name = "gfx1013",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .ds_src2_insts,
            .flat_segment_offset_bug,
            .get_wave_id_inst,
            .gfx10,
            .gfx10_a_encoding,
            .inst_fwd_prefetch_bug,
            .lds_branch_vmem_war_hazard,
            .lds_misaligned_bug,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .negative_unaligned_scratch_offset_bug,
            .nsa_clause_bug,
            .nsa_encoding,
            .nsa_to_vmem_bug,
            .offset_3f_bug,
            .scalar_atomics,
            .scalar_flat_scratch_insts,
            .scalar_stores,
            .smem_to_vector_write_hazard,
            .vcmpx_exec_war_hazard,
            .vcmpx_permlane_hazard,
            .vmem_to_scalar_write_hazard,
            .xnack_support,
        }),
    };
    pub const gfx1030: CpuModel = .{
        .name = "gfx1030",
        .llvm_name = "gfx1030",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .gfx10,
            .gfx10_3_insts,
            .gfx10_a_encoding,
            .gfx10_b_encoding,
            .ldsbankcount32,
            .nsa_encoding,
            .shader_cycles_register,
        }),
    };
    pub const gfx1031: CpuModel = .{
        .name = "gfx1031",
        .llvm_name = "gfx1031",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .gfx10,
            .gfx10_3_insts,
            .gfx10_a_encoding,
            .gfx10_b_encoding,
            .ldsbankcount32,
            .nsa_encoding,
            .shader_cycles_register,
        }),
    };
    pub const gfx1032: CpuModel = .{
        .name = "gfx1032",
        .llvm_name = "gfx1032",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .gfx10,
            .gfx10_3_insts,
            .gfx10_a_encoding,
            .gfx10_b_encoding,
            .ldsbankcount32,
            .nsa_encoding,
            .shader_cycles_register,
        }),
    };
    pub const gfx1033: CpuModel = .{
        .name = "gfx1033",
        .llvm_name = "gfx1033",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .gfx10,
            .gfx10_3_insts,
            .gfx10_a_encoding,
            .gfx10_b_encoding,
            .ldsbankcount32,
            .nsa_encoding,
            .shader_cycles_register,
        }),
    };
    pub const gfx1034: CpuModel = .{
        .name = "gfx1034",
        .llvm_name = "gfx1034",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .gfx10,
            .gfx10_3_insts,
            .gfx10_a_encoding,
            .gfx10_b_encoding,
            .ldsbankcount32,
            .nsa_encoding,
            .shader_cycles_register,
        }),
    };
    pub const gfx1035: CpuModel = .{
        .name = "gfx1035",
        .llvm_name = "gfx1035",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .gfx10,
            .gfx10_3_insts,
            .gfx10_a_encoding,
            .gfx10_b_encoding,
            .ldsbankcount32,
            .nsa_encoding,
            .shader_cycles_register,
        }),
    };
    pub const gfx1036: CpuModel = .{
        .name = "gfx1036",
        .llvm_name = "gfx1036",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .gfx10,
            .gfx10_3_insts,
            .gfx10_a_encoding,
            .gfx10_b_encoding,
            .ldsbankcount32,
            .nsa_encoding,
            .shader_cycles_register,
        }),
    };
    pub const gfx10_1_generic: CpuModel = .{
        .name = "gfx10_1_generic",
        .llvm_name = "gfx10-1-generic",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .ds_src2_insts,
            .flat_segment_offset_bug,
            .get_wave_id_inst,
            .gfx10,
            .inst_fwd_prefetch_bug,
            .lds_branch_vmem_war_hazard,
            .lds_misaligned_bug,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .negative_unaligned_scratch_offset_bug,
            .nsa_clause_bug,
            .nsa_encoding,
            .nsa_to_vmem_bug,
            .offset_3f_bug,
            .requires_cov6,
            .scalar_atomics,
            .scalar_flat_scratch_insts,
            .scalar_stores,
            .smem_to_vector_write_hazard,
            .vcmpx_exec_war_hazard,
            .vcmpx_permlane_hazard,
            .vmem_to_scalar_write_hazard,
            .xnack_support,
        }),
    };
    pub const gfx10_3_generic: CpuModel = .{
        .name = "gfx10_3_generic",
        .llvm_name = "gfx10-3-generic",
        .features = featureSet(&[_]Feature{
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .gfx10,
            .gfx10_3_insts,
            .gfx10_a_encoding,
            .gfx10_b_encoding,
            .ldsbankcount32,
            .nsa_encoding,
            .requires_cov6,
            .shader_cycles_register,
        }),
    };
    pub const gfx1100: CpuModel = .{
        .name = "gfx1100",
        .llvm_name = "gfx1100",
        .features = featureSet(&[_]Feature{
            .allocate1_5xvgprs,
            .architected_flat_scratch,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot5_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .flat_atomic_fadd_f32_inst,
            .gfx11,
            .image_insts,
            .ldsbankcount32,
            .mad_intra_fwd_bug,
            .memory_atomic_fadd_f32_denormal_support,
            .msaa_load_dst_sel_bug,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .priv_enabled_trap2_nop_bug,
            .shader_cycles_register,
            .user_sgpr_init16_bug,
            .valu_trans_use_hazard,
            .vcmpx_permlane_hazard,
        }),
    };
    pub const gfx1101: CpuModel = .{
        .name = "gfx1101",
        .llvm_name = "gfx1101",
        .features = featureSet(&[_]Feature{
            .allocate1_5xvgprs,
            .architected_flat_scratch,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot5_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .flat_atomic_fadd_f32_inst,
            .gfx11,
            .image_insts,
            .ldsbankcount32,
            .mad_intra_fwd_bug,
            .memory_atomic_fadd_f32_denormal_support,
            .msaa_load_dst_sel_bug,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .priv_enabled_trap2_nop_bug,
            .shader_cycles_register,
            .valu_trans_use_hazard,
            .vcmpx_permlane_hazard,
        }),
    };
    pub const gfx1102: CpuModel = .{
        .name = "gfx1102",
        .llvm_name = "gfx1102",
        .features = featureSet(&[_]Feature{
            .architected_flat_scratch,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot5_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .flat_atomic_fadd_f32_inst,
            .gfx11,
            .image_insts,
            .ldsbankcount32,
            .mad_intra_fwd_bug,
            .memory_atomic_fadd_f32_denormal_support,
            .msaa_load_dst_sel_bug,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .priv_enabled_trap2_nop_bug,
            .shader_cycles_register,
            .user_sgpr_init16_bug,
            .valu_trans_use_hazard,
            .vcmpx_permlane_hazard,
        }),
    };
    pub const gfx1103: CpuModel = .{
        .name = "gfx1103",
        .llvm_name = "gfx1103",
        .features = featureSet(&[_]Feature{
            .architected_flat_scratch,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot5_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .flat_atomic_fadd_f32_inst,
            .gfx11,
            .image_insts,
            .ldsbankcount32,
            .mad_intra_fwd_bug,
            .memory_atomic_fadd_f32_denormal_support,
            .msaa_load_dst_sel_bug,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .priv_enabled_trap2_nop_bug,
            .shader_cycles_register,
            .valu_trans_use_hazard,
            .vcmpx_permlane_hazard,
        }),
    };
    pub const gfx1150: CpuModel = .{
        .name = "gfx1150",
        .llvm_name = "gfx1150",
        .features = featureSet(&[_]Feature{
            .architected_flat_scratch,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot5_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .dpp_src1_sgpr,
            .flat_atomic_fadd_f32_inst,
            .gfx11,
            .image_insts,
            .ldsbankcount32,
            .memory_atomic_fadd_f32_denormal_support,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .required_export_priority,
            .salu_float,
            .shader_cycles_register,
            .vcmpx_permlane_hazard,
            .vgpr_singleuse_hint,
        }),
    };
    pub const gfx1151: CpuModel = .{
        .name = "gfx1151",
        .llvm_name = "gfx1151",
        .features = featureSet(&[_]Feature{
            .allocate1_5xvgprs,
            .architected_flat_scratch,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot5_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .dpp_src1_sgpr,
            .flat_atomic_fadd_f32_inst,
            .gfx11,
            .image_insts,
            .ldsbankcount32,
            .memory_atomic_fadd_f32_denormal_support,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .required_export_priority,
            .salu_float,
            .shader_cycles_register,
            .vcmpx_permlane_hazard,
            .vgpr_singleuse_hint,
        }),
    };
    pub const gfx1152: CpuModel = .{
        .name = "gfx1152",
        .llvm_name = "gfx1152",
        .features = featureSet(&[_]Feature{
            .architected_flat_scratch,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot5_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .dpp_src1_sgpr,
            .flat_atomic_fadd_f32_inst,
            .gfx11,
            .image_insts,
            .ldsbankcount32,
            .memory_atomic_fadd_f32_denormal_support,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .required_export_priority,
            .salu_float,
            .shader_cycles_register,
            .vcmpx_permlane_hazard,
            .vgpr_singleuse_hint,
        }),
    };
    pub const gfx11_generic: CpuModel = .{
        .name = "gfx11_generic",
        .llvm_name = "gfx11-generic",
        .features = featureSet(&[_]Feature{
            .architected_flat_scratch,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot5_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .flat_atomic_fadd_f32_inst,
            .gfx11,
            .image_insts,
            .ldsbankcount32,
            .mad_intra_fwd_bug,
            .memory_atomic_fadd_f32_denormal_support,
            .msaa_load_dst_sel_bug,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .priv_enabled_trap2_nop_bug,
            .required_export_priority,
            .requires_cov6,
            .shader_cycles_register,
            .user_sgpr_init16_bug,
            .valu_trans_use_hazard,
            .vcmpx_permlane_hazard,
        }),
    };
    pub const gfx1200: CpuModel = .{
        .name = "gfx1200",
        .llvm_name = "gfx1200",
        .features = featureSet(&[_]Feature{
            .allocate1_5xvgprs,
            .architected_flat_scratch,
            .architected_sgprs,
            .atomic_buffer_global_pk_add_f16_insts,
            .atomic_buffer_pk_add_bf16_inst,
            .atomic_ds_pk_add_16_insts,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .atomic_flat_pk_add_16_insts,
            .atomic_global_pk_add_bf16_inst,
            .dl_insts,
            .dot10_insts,
            .dot11_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .dpp_src1_sgpr,
            .extended_image_insts,
            .flat_atomic_fadd_f32_inst,
            .fp8_conversion_insts,
            .gfx12,
            .image_insts,
            .ldsbankcount32,
            .memory_atomic_fadd_f32_denormal_support,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .pseudo_scalar_trans,
            .restricted_soffset,
            .salu_float,
            .scalar_dwordx3_loads,
            .shader_cycles_hi_lo_registers,
            .vcmpx_permlane_hazard,
            .vgpr_singleuse_hint,
        }),
    };
    pub const gfx1201: CpuModel = .{
        .name = "gfx1201",
        .llvm_name = "gfx1201",
        .features = featureSet(&[_]Feature{
            .allocate1_5xvgprs,
            .architected_flat_scratch,
            .architected_sgprs,
            .atomic_buffer_global_pk_add_f16_insts,
            .atomic_buffer_pk_add_bf16_inst,
            .atomic_ds_pk_add_16_insts,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .atomic_flat_pk_add_16_insts,
            .atomic_global_pk_add_bf16_inst,
            .dl_insts,
            .dot10_insts,
            .dot11_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .dpp_src1_sgpr,
            .extended_image_insts,
            .flat_atomic_fadd_f32_inst,
            .fp8_conversion_insts,
            .gfx12,
            .image_insts,
            .ldsbankcount32,
            .memory_atomic_fadd_f32_denormal_support,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .pseudo_scalar_trans,
            .restricted_soffset,
            .salu_float,
            .scalar_dwordx3_loads,
            .shader_cycles_hi_lo_registers,
            .vcmpx_permlane_hazard,
            .vgpr_singleuse_hint,
        }),
    };
    pub const gfx12_generic: CpuModel = .{
        .name = "gfx12_generic",
        .llvm_name = "gfx12-generic",
        .features = featureSet(&[_]Feature{
            .allocate1_5xvgprs,
            .architected_flat_scratch,
            .architected_sgprs,
            .atomic_buffer_global_pk_add_f16_insts,
            .atomic_buffer_pk_add_bf16_inst,
            .atomic_ds_pk_add_16_insts,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .atomic_flat_pk_add_16_insts,
            .atomic_global_pk_add_bf16_inst,
            .dl_insts,
            .dot10_insts,
            .dot11_insts,
            .dot7_insts,
            .dot8_insts,
            .dot9_insts,
            .dpp_src1_sgpr,
            .extended_image_insts,
            .flat_atomic_fadd_f32_inst,
            .fp8_conversion_insts,
            .gfx12,
            .image_insts,
            .ldsbankcount32,
            .memory_atomic_fadd_f32_denormal_support,
            .nsa_encoding,
            .packed_tid,
            .partial_nsa_encoding,
            .pseudo_scalar_trans,
            .requires_cov6,
            .restricted_soffset,
            .salu_float,
            .scalar_dwordx3_loads,
            .shader_cycles_hi_lo_registers,
            .vcmpx_permlane_hazard,
            .vgpr_singleuse_hint,
        }),
    };
    pub const gfx600: CpuModel = .{
        .name = "gfx600",
        .llvm_name = "gfx600",
        .features = featureSet(&[_]Feature{
            .fast_fmaf,
            .half_rate_64_ops,
            .southern_islands,
        }),
    };
    pub const gfx601: CpuModel = .{
        .name = "gfx601",
        .llvm_name = "gfx601",
        .features = featureSet(&[_]Feature{
            .southern_islands,
        }),
    };
    pub const gfx602: CpuModel = .{
        .name = "gfx602",
        .llvm_name = "gfx602",
        .features = featureSet(&[_]Feature{
            .southern_islands,
        }),
    };
    pub const gfx700: CpuModel = .{
        .name = "gfx700",
        .llvm_name = "gfx700",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sea_islands,
        }),
    };
    pub const gfx701: CpuModel = .{
        .name = "gfx701",
        .llvm_name = "gfx701",
        .features = featureSet(&[_]Feature{
            .fast_fmaf,
            .half_rate_64_ops,
            .ldsbankcount32,
            .sea_islands,
        }),
    };
    pub const gfx702: CpuModel = .{
        .name = "gfx702",
        .llvm_name = "gfx702",
        .features = featureSet(&[_]Feature{
            .fast_fmaf,
            .ldsbankcount16,
            .sea_islands,
        }),
    };
    pub const gfx703: CpuModel = .{
        .name = "gfx703",
        .llvm_name = "gfx703",
        .features = featureSet(&[_]Feature{
            .ldsbankcount16,
            .sea_islands,
        }),
    };
    pub const gfx704: CpuModel = .{
        .name = "gfx704",
        .llvm_name = "gfx704",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sea_islands,
        }),
    };
    pub const gfx705: CpuModel = .{
        .name = "gfx705",
        .llvm_name = "gfx705",
        .features = featureSet(&[_]Feature{
            .ldsbankcount16,
            .sea_islands,
        }),
    };
    pub const gfx801: CpuModel = .{
        .name = "gfx801",
        .llvm_name = "gfx801",
        .features = featureSet(&[_]Feature{
            .fast_fmaf,
            .half_rate_64_ops,
            .ldsbankcount32,
            .unpacked_d16_vmem,
            .volcanic_islands,
            .xnack_support,
        }),
    };
    pub const gfx802: CpuModel = .{
        .name = "gfx802",
        .llvm_name = "gfx802",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sgpr_init_bug,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const gfx803: CpuModel = .{
        .name = "gfx803",
        .llvm_name = "gfx803",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const gfx805: CpuModel = .{
        .name = "gfx805",
        .llvm_name = "gfx805",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sgpr_init_bug,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const gfx810: CpuModel = .{
        .name = "gfx810",
        .llvm_name = "gfx810",
        .features = featureSet(&[_]Feature{
            .image_gather4_d16_bug,
            .image_store_d16_bug,
            .ldsbankcount16,
            .volcanic_islands,
            .xnack_support,
        }),
    };
    pub const gfx900: CpuModel = .{
        .name = "gfx900",
        .llvm_name = "gfx900",
        .features = featureSet(&[_]Feature{
            .ds_src2_insts,
            .extended_image_insts,
            .gds,
            .gfx9,
            .image_gather4_d16_bug,
            .image_insts,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .mad_mix_insts,
        }),
    };
    pub const gfx902: CpuModel = .{
        .name = "gfx902",
        .llvm_name = "gfx902",
        .features = featureSet(&[_]Feature{
            .ds_src2_insts,
            .extended_image_insts,
            .gds,
            .gfx9,
            .image_gather4_d16_bug,
            .image_insts,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .mad_mix_insts,
        }),
    };
    pub const gfx904: CpuModel = .{
        .name = "gfx904",
        .llvm_name = "gfx904",
        .features = featureSet(&[_]Feature{
            .ds_src2_insts,
            .extended_image_insts,
            .fma_mix_insts,
            .gds,
            .gfx9,
            .image_gather4_d16_bug,
            .image_insts,
            .ldsbankcount32,
            .mad_mac_f32_insts,
        }),
    };
    pub const gfx906: CpuModel = .{
        .name = "gfx906",
        .llvm_name = "gfx906",
        .features = featureSet(&[_]Feature{
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot7_insts,
            .ds_src2_insts,
            .extended_image_insts,
            .fma_mix_insts,
            .gds,
            .gfx9,
            .half_rate_64_ops,
            .image_gather4_d16_bug,
            .image_insts,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .sramecc_support,
        }),
    };
    pub const gfx908: CpuModel = .{
        .name = "gfx908",
        .llvm_name = "gfx908",
        .features = featureSet(&[_]Feature{
            .atomic_buffer_global_pk_add_f16_no_rtn_insts,
            .atomic_fadd_no_rtn_insts,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot3_insts,
            .dot4_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .ds_src2_insts,
            .extended_image_insts,
            .fma_mix_insts,
            .gds,
            .gfx9,
            .half_rate_64_ops,
            .image_gather4_d16_bug,
            .image_insts,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .mai_insts,
            .mfma_inline_literal_bug,
            .pk_fmac_f16_inst,
            .sramecc_support,
        }),
    };
    pub const gfx909: CpuModel = .{
        .name = "gfx909",
        .llvm_name = "gfx909",
        .features = featureSet(&[_]Feature{
            .ds_src2_insts,
            .extended_image_insts,
            .gds,
            .gfx9,
            .image_gather4_d16_bug,
            .image_insts,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .mad_mix_insts,
        }),
    };
    pub const gfx90a: CpuModel = .{
        .name = "gfx90a",
        .llvm_name = "gfx90a",
        .features = featureSet(&[_]Feature{
            .atomic_buffer_global_pk_add_f16_insts,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .atomic_fmin_fmax_flat_f64,
            .atomic_fmin_fmax_global_f64,
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot3_insts,
            .dot4_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .dpp_64bit,
            .flat_buffer_global_fadd_f64_inst,
            .fma_mix_insts,
            .fmacf64_inst,
            .full_rate_64_ops,
            .gfx9,
            .gfx90a_insts,
            .image_insts,
            .kernarg_preload,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .mai_insts,
            .packed_fp32_ops,
            .packed_tid,
            .pk_fmac_f16_inst,
            .sramecc_support,
        }),
    };
    pub const gfx90c: CpuModel = .{
        .name = "gfx90c",
        .llvm_name = "gfx90c",
        .features = featureSet(&[_]Feature{
            .ds_src2_insts,
            .extended_image_insts,
            .gds,
            .gfx9,
            .image_gather4_d16_bug,
            .image_insts,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .mad_mix_insts,
        }),
    };
    pub const gfx940: CpuModel = .{
        .name = "gfx940",
        .llvm_name = "gfx940",
        .features = featureSet(&[_]Feature{
            .agent_scope_fine_grained_remote_memory_atomics,
            .architected_flat_scratch,
            .atomic_buffer_global_pk_add_f16_insts,
            .atomic_ds_pk_add_16_insts,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .atomic_flat_pk_add_16_insts,
            .atomic_fmin_fmax_flat_f64,
            .atomic_fmin_fmax_global_f64,
            .atomic_global_pk_add_bf16_inst,
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot3_insts,
            .dot4_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .dpp_64bit,
            .flat_atomic_fadd_f32_inst,
            .flat_buffer_global_fadd_f64_inst,
            .fma_mix_insts,
            .fmacf64_inst,
            .force_store_sc0_sc1,
            .fp8_conversion_insts,
            .fp8_insts,
            .full_rate_64_ops,
            .gfx9,
            .gfx90a_insts,
            .gfx940_insts,
            .kernarg_preload,
            .ldsbankcount32,
            .mai_insts,
            .memory_atomic_fadd_f32_denormal_support,
            .packed_fp32_ops,
            .packed_tid,
            .pk_fmac_f16_inst,
            .sramecc_support,
        }),
    };
    pub const gfx941: CpuModel = .{
        .name = "gfx941",
        .llvm_name = "gfx941",
        .features = featureSet(&[_]Feature{
            .agent_scope_fine_grained_remote_memory_atomics,
            .architected_flat_scratch,
            .atomic_buffer_global_pk_add_f16_insts,
            .atomic_ds_pk_add_16_insts,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .atomic_flat_pk_add_16_insts,
            .atomic_fmin_fmax_flat_f64,
            .atomic_fmin_fmax_global_f64,
            .atomic_global_pk_add_bf16_inst,
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot3_insts,
            .dot4_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .dpp_64bit,
            .flat_atomic_fadd_f32_inst,
            .flat_buffer_global_fadd_f64_inst,
            .fma_mix_insts,
            .fmacf64_inst,
            .force_store_sc0_sc1,
            .fp8_conversion_insts,
            .fp8_insts,
            .full_rate_64_ops,
            .gfx9,
            .gfx90a_insts,
            .gfx940_insts,
            .kernarg_preload,
            .ldsbankcount32,
            .mai_insts,
            .memory_atomic_fadd_f32_denormal_support,
            .packed_fp32_ops,
            .packed_tid,
            .pk_fmac_f16_inst,
            .sramecc_support,
        }),
    };
    pub const gfx942: CpuModel = .{
        .name = "gfx942",
        .llvm_name = "gfx942",
        .features = featureSet(&[_]Feature{
            .agent_scope_fine_grained_remote_memory_atomics,
            .architected_flat_scratch,
            .atomic_buffer_global_pk_add_f16_insts,
            .atomic_ds_pk_add_16_insts,
            .atomic_fadd_no_rtn_insts,
            .atomic_fadd_rtn_insts,
            .atomic_flat_pk_add_16_insts,
            .atomic_fmin_fmax_flat_f64,
            .atomic_fmin_fmax_global_f64,
            .atomic_global_pk_add_bf16_inst,
            .back_off_barrier,
            .dl_insts,
            .dot10_insts,
            .dot1_insts,
            .dot2_insts,
            .dot3_insts,
            .dot4_insts,
            .dot5_insts,
            .dot6_insts,
            .dot7_insts,
            .dpp_64bit,
            .flat_atomic_fadd_f32_inst,
            .flat_buffer_global_fadd_f64_inst,
            .fma_mix_insts,
            .fmacf64_inst,
            .fp8_conversion_insts,
            .fp8_insts,
            .full_rate_64_ops,
            .gfx9,
            .gfx90a_insts,
            .gfx940_insts,
            .kernarg_preload,
            .ldsbankcount32,
            .mai_insts,
            .memory_atomic_fadd_f32_denormal_support,
            .packed_fp32_ops,
            .packed_tid,
            .pk_fmac_f16_inst,
            .sramecc_support,
        }),
    };
    pub const gfx9_generic: CpuModel = .{
        .name = "gfx9_generic",
        .llvm_name = "gfx9-generic",
        .features = featureSet(&[_]Feature{
            .ds_src2_insts,
            .extended_image_insts,
            .gds,
            .gfx9,
            .image_gather4_d16_bug,
            .image_insts,
            .ldsbankcount32,
            .mad_mac_f32_insts,
            .requires_cov6,
        }),
    };
    pub const hainan: CpuModel = .{
        .name = "hainan",
        .llvm_name = "hainan",
        .features = featureSet(&[_]Feature{
            .southern_islands,
        }),
    };
    pub const hawaii: CpuModel = .{
        .name = "hawaii",
        .llvm_name = "hawaii",
        .features = featureSet(&[_]Feature{
            .fast_fmaf,
            .half_rate_64_ops,
            .ldsbankcount32,
            .sea_islands,
        }),
    };
    pub const iceland: CpuModel = .{
        .name = "iceland",
        .llvm_name = "iceland",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sgpr_init_bug,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const kabini: CpuModel = .{
        .name = "kabini",
        .llvm_name = "kabini",
        .features = featureSet(&[_]Feature{
            .ldsbankcount16,
            .sea_islands,
        }),
    };
    pub const kaveri: CpuModel = .{
        .name = "kaveri",
        .llvm_name = "kaveri",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sea_islands,
        }),
    };
    pub const mullins: CpuModel = .{
        .name = "mullins",
        .llvm_name = "mullins",
        .features = featureSet(&[_]Feature{
            .ldsbankcount16,
            .sea_islands,
        }),
    };
    pub const oland: CpuModel = .{
        .name = "oland",
        .llvm_name = "oland",
        .features = featureSet(&[_]Feature{
            .southern_islands,
        }),
    };
    pub const pitcairn: CpuModel = .{
        .name = "pitcairn",
        .llvm_name = "pitcairn",
        .features = featureSet(&[_]Feature{
            .southern_islands,
        }),
    };
    pub const polaris10: CpuModel = .{
        .name = "polaris10",
        .llvm_name = "polaris10",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const polaris11: CpuModel = .{
        .name = "polaris11",
        .llvm_name = "polaris11",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const stoney: CpuModel = .{
        .name = "stoney",
        .llvm_name = "stoney",
        .features = featureSet(&[_]Feature{
            .image_gather4_d16_bug,
            .image_store_d16_bug,
            .ldsbankcount16,
            .volcanic_islands,
            .xnack_support,
        }),
    };
    pub const tahiti: CpuModel = .{
        .name = "tahiti",
        .llvm_name = "tahiti",
        .features = featureSet(&[_]Feature{
            .fast_fmaf,
            .half_rate_64_ops,
            .southern_islands,
        }),
    };
    pub const tonga: CpuModel = .{
        .name = "tonga",
        .llvm_name = "tonga",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sgpr_init_bug,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const tongapro: CpuModel = .{
        .name = "tongapro",
        .llvm_name = "tongapro",
        .features = featureSet(&[_]Feature{
            .ldsbankcount32,
            .sgpr_init_bug,
            .unpacked_d16_vmem,
            .volcanic_islands,
        }),
    };
    pub const verde: CpuModel = .{
        .name = "verde",
        .llvm_name = "verde",
        .features = featureSet(&[_]Feature{
            .southern_islands,
        }),
    };
}