struct cpu [src]

Members

Source

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, }), }; }