diff options
Diffstat (limited to 'lib/std/target/amdgpu.zig')
| -rw-r--r-- | lib/std/target/amdgpu.zig | 1037 |
1 files changed, 570 insertions, 467 deletions
diff --git a/lib/std/target/amdgpu.zig b/lib/std/target/amdgpu.zig index b428615124..3d4b4950ca 100644 --- a/lib/std/target/amdgpu.zig +++ b/lib/std/target/amdgpu.zig @@ -3,6 +3,7 @@ const Cpu = @import("std").target.Cpu; pub const feature_BitInsts16 = Feature{ .name = "16-bit-insts", + .llvm_name = "16-bit-insts", .description = "Has i16/f16 instructions", .dependencies = &[_]*const Feature { }, @@ -10,6 +11,7 @@ pub const feature_BitInsts16 = Feature{ pub const feature_addNoCarryInsts = Feature{ .name = "add-no-carry-insts", + .llvm_name = "add-no-carry-insts", .description = "Have VALU add/sub instructions without carry out", .dependencies = &[_]*const Feature { }, @@ -17,6 +19,7 @@ pub const feature_addNoCarryInsts = Feature{ pub const feature_apertureRegs = Feature{ .name = "aperture-regs", + .llvm_name = "aperture-regs", .description = "Has Memory Aperture Base and Size Registers", .dependencies = &[_]*const Feature { }, @@ -24,6 +27,7 @@ pub const feature_apertureRegs = Feature{ pub const feature_atomicFaddInsts = Feature{ .name = "atomic-fadd-insts", + .llvm_name = "atomic-fadd-insts", .description = "Has buffer_atomic_add_f32, buffer_atomic_pk_add_f16, global_atomic_add_f32, global_atomic_pk_add_f16 instructions", .dependencies = &[_]*const Feature { }, @@ -31,6 +35,7 @@ pub const feature_atomicFaddInsts = Feature{ pub const feature_autoWaitcntBeforeBarrier = Feature{ .name = "auto-waitcnt-before-barrier", + .llvm_name = "auto-waitcnt-before-barrier", .description = "Hardware automatically inserts waitcnt before barrier", .dependencies = &[_]*const Feature { }, @@ -38,6 +43,7 @@ pub const feature_autoWaitcntBeforeBarrier = Feature{ pub const feature_ciInsts = Feature{ .name = "ci-insts", + .llvm_name = "ci-insts", .description = "Additional instructions for CI+", .dependencies = &[_]*const Feature { }, @@ -45,6 +51,7 @@ pub const feature_ciInsts = Feature{ pub const feature_codeObjectV3 = Feature{ .name = "code-object-v3", + .llvm_name = "code-object-v3", .description = "Generate code object version 3", .dependencies = &[_]*const Feature { }, @@ -52,6 +59,7 @@ pub const feature_codeObjectV3 = Feature{ pub const feature_cumode = Feature{ .name = "cumode", + .llvm_name = "cumode", .description = "Enable CU wavefront execution mode", .dependencies = &[_]*const Feature { }, @@ -59,6 +67,7 @@ pub const feature_cumode = Feature{ pub const feature_dlInsts = Feature{ .name = "dl-insts", + .llvm_name = "dl-insts", .description = "Has v_fmac_f32 and v_xnor_b32 instructions", .dependencies = &[_]*const Feature { }, @@ -66,6 +75,7 @@ pub const feature_dlInsts = Feature{ pub const feature_dpp = Feature{ .name = "dpp", + .llvm_name = "dpp", .description = "Support DPP (Data Parallel Primitives) extension", .dependencies = &[_]*const Feature { }, @@ -73,6 +83,7 @@ pub const feature_dpp = Feature{ pub const feature_dpp8 = Feature{ .name = "dpp8", + .llvm_name = "dpp8", .description = "Support DPP8 (Data Parallel Primitives) extension", .dependencies = &[_]*const Feature { }, @@ -80,6 +91,7 @@ pub const feature_dpp8 = Feature{ pub const feature_noSramEccSupport = Feature{ .name = "no-sram-ecc-support", + .llvm_name = "no-sram-ecc-support", .description = "Hardware does not support SRAM ECC", .dependencies = &[_]*const Feature { }, @@ -87,6 +99,7 @@ pub const feature_noSramEccSupport = Feature{ pub const feature_noXnackSupport = Feature{ .name = "no-xnack-support", + .llvm_name = "no-xnack-support", .description = "Hardware does not support XNACK", .dependencies = &[_]*const Feature { }, @@ -94,6 +107,7 @@ pub const feature_noXnackSupport = Feature{ pub const feature_dot1Insts = Feature{ .name = "dot1-insts", + .llvm_name = "dot1-insts", .description = "Has v_dot4_i32_i8 and v_dot8_i32_i4 instructions", .dependencies = &[_]*const Feature { }, @@ -101,6 +115,7 @@ pub const feature_dot1Insts = Feature{ pub const feature_dot2Insts = Feature{ .name = "dot2-insts", + .llvm_name = "dot2-insts", .description = "Has v_dot2_f32_f16, v_dot2_i32_i16, v_dot2_u32_u16, v_dot4_u32_u8, v_dot8_u32_u4 instructions", .dependencies = &[_]*const Feature { }, @@ -108,6 +123,7 @@ pub const feature_dot2Insts = Feature{ pub const feature_dot3Insts = Feature{ .name = "dot3-insts", + .llvm_name = "dot3-insts", .description = "Has v_dot8c_i32_i4 instruction", .dependencies = &[_]*const Feature { }, @@ -115,6 +131,7 @@ pub const feature_dot3Insts = Feature{ pub const feature_dot4Insts = Feature{ .name = "dot4-insts", + .llvm_name = "dot4-insts", .description = "Has v_dot2c_i32_i16 instruction", .dependencies = &[_]*const Feature { }, @@ -122,6 +139,7 @@ pub const feature_dot4Insts = Feature{ pub const feature_dot5Insts = Feature{ .name = "dot5-insts", + .llvm_name = "dot5-insts", .description = "Has v_dot2c_f32_f16 instruction", .dependencies = &[_]*const Feature { }, @@ -129,6 +147,7 @@ pub const feature_dot5Insts = Feature{ pub const feature_dot6Insts = Feature{ .name = "dot6-insts", + .llvm_name = "dot6-insts", .description = "Has v_dot4c_i32_i8 instruction", .dependencies = &[_]*const Feature { }, @@ -136,6 +155,7 @@ pub const feature_dot6Insts = Feature{ pub const feature_DumpCode = Feature{ .name = "DumpCode", + .llvm_name = "DumpCode", .description = "Dump MachineInstrs in the CodeEmitter", .dependencies = &[_]*const Feature { }, @@ -143,6 +163,7 @@ pub const feature_DumpCode = Feature{ pub const feature_dumpcode = Feature{ .name = "dumpcode", + .llvm_name = "dumpcode", .description = "Dump MachineInstrs in the CodeEmitter", .dependencies = &[_]*const Feature { }, @@ -150,6 +171,7 @@ pub const feature_dumpcode = Feature{ pub const feature_enableDs128 = Feature{ .name = "enable-ds128", + .llvm_name = "enable-ds128", .description = "Use ds_{read|write}_b128", .dependencies = &[_]*const Feature { }, @@ -157,6 +179,7 @@ pub const feature_enableDs128 = Feature{ pub const feature_loadStoreOpt = Feature{ .name = "load-store-opt", + .llvm_name = "load-store-opt", .description = "Enable SI load/store optimizer pass", .dependencies = &[_]*const Feature { }, @@ -164,6 +187,7 @@ pub const feature_loadStoreOpt = Feature{ pub const feature_enablePrtStrictNull = Feature{ .name = "enable-prt-strict-null", + .llvm_name = "enable-prt-strict-null", .description = "Enable zeroing of result registers for sparse texture fetches", .dependencies = &[_]*const Feature { }, @@ -171,6 +195,7 @@ pub const feature_enablePrtStrictNull = Feature{ pub const feature_siScheduler = Feature{ .name = "si-scheduler", + .llvm_name = "si-scheduler", .description = "Enable SI Machine Scheduler", .dependencies = &[_]*const Feature { }, @@ -178,6 +203,7 @@ pub const feature_siScheduler = Feature{ pub const feature_unsafeDsOffsetFolding = Feature{ .name = "unsafe-ds-offset-folding", + .llvm_name = "unsafe-ds-offset-folding", .description = "Force using DS instruction immediate offsets on SI", .dependencies = &[_]*const Feature { }, @@ -185,6 +211,7 @@ pub const feature_unsafeDsOffsetFolding = Feature{ pub const feature_fmaf = Feature{ .name = "fmaf", + .llvm_name = "fmaf", .description = "Enable single precision FMA (not as fast as mul+add, but fused)", .dependencies = &[_]*const Feature { }, @@ -192,6 +219,7 @@ pub const feature_fmaf = Feature{ pub const feature_fp16Denormals = Feature{ .name = "fp16-denormals", + .llvm_name = "fp16-denormals", .description = "Enable half precision denormal handling", .dependencies = &[_]*const Feature { &feature_fp64, @@ -200,6 +228,7 @@ pub const feature_fp16Denormals = Feature{ pub const feature_fp32Denormals = Feature{ .name = "fp32-denormals", + .llvm_name = "fp32-denormals", .description = "Enable single precision denormal handling", .dependencies = &[_]*const Feature { }, @@ -207,6 +236,7 @@ pub const feature_fp32Denormals = Feature{ pub const feature_fp64 = Feature{ .name = "fp64", + .llvm_name = "fp64", .description = "Enable double precision operations", .dependencies = &[_]*const Feature { }, @@ -214,6 +244,7 @@ pub const feature_fp64 = Feature{ pub const feature_fp64Denormals = Feature{ .name = "fp64-denormals", + .llvm_name = "fp64-denormals", .description = "Enable double and half precision denormal handling", .dependencies = &[_]*const Feature { &feature_fp64, @@ -222,6 +253,7 @@ pub const feature_fp64Denormals = Feature{ pub const feature_fp64Fp16Denormals = Feature{ .name = "fp64-fp16-denormals", + .llvm_name = "fp64-fp16-denormals", .description = "Enable double and half precision denormal handling", .dependencies = &[_]*const Feature { &feature_fp64, @@ -230,6 +262,7 @@ pub const feature_fp64Fp16Denormals = Feature{ pub const feature_fpExceptions = Feature{ .name = "fp-exceptions", + .llvm_name = "fp-exceptions", .description = "Enable floating point exceptions", .dependencies = &[_]*const Feature { }, @@ -237,6 +270,7 @@ pub const feature_fpExceptions = Feature{ pub const feature_fastFmaf = Feature{ .name = "fast-fmaf", + .llvm_name = "fast-fmaf", .description = "Assuming f32 fma is at least as fast as mul + add", .dependencies = &[_]*const Feature { }, @@ -244,6 +278,7 @@ pub const feature_fastFmaf = Feature{ pub const feature_flatAddressSpace = Feature{ .name = "flat-address-space", + .llvm_name = "flat-address-space", .description = "Support flat address space", .dependencies = &[_]*const Feature { }, @@ -251,6 +286,7 @@ pub const feature_flatAddressSpace = Feature{ pub const feature_flatForGlobal = Feature{ .name = "flat-for-global", + .llvm_name = "flat-for-global", .description = "Force to generate flat instruction for global", .dependencies = &[_]*const Feature { }, @@ -258,6 +294,7 @@ pub const feature_flatForGlobal = Feature{ pub const feature_flatGlobalInsts = Feature{ .name = "flat-global-insts", + .llvm_name = "flat-global-insts", .description = "Have global_* flat memory instructions", .dependencies = &[_]*const Feature { }, @@ -265,6 +302,7 @@ pub const feature_flatGlobalInsts = Feature{ pub const feature_flatInstOffsets = Feature{ .name = "flat-inst-offsets", + .llvm_name = "flat-inst-offsets", .description = "Flat instructions have immediate offset addressing mode", .dependencies = &[_]*const Feature { }, @@ -272,6 +310,7 @@ pub const feature_flatInstOffsets = Feature{ pub const feature_flatScratchInsts = Feature{ .name = "flat-scratch-insts", + .llvm_name = "flat-scratch-insts", .description = "Have scratch_* flat memory instructions", .dependencies = &[_]*const Feature { }, @@ -279,6 +318,7 @@ pub const feature_flatScratchInsts = Feature{ pub const feature_flatSegmentOffsetBug = Feature{ .name = "flat-segment-offset-bug", + .llvm_name = "flat-segment-offset-bug", .description = "GFX10 bug, inst_offset ignored in flat segment", .dependencies = &[_]*const Feature { }, @@ -286,6 +326,7 @@ pub const feature_flatSegmentOffsetBug = Feature{ pub const feature_fmaMixInsts = Feature{ .name = "fma-mix-insts", + .llvm_name = "fma-mix-insts", .description = "Has v_fma_mix_f32, v_fma_mixlo_f16, v_fma_mixhi_f16 instructions", .dependencies = &[_]*const Feature { }, @@ -293,6 +334,7 @@ pub const feature_fmaMixInsts = Feature{ pub const feature_gcn3Encoding = Feature{ .name = "gcn3-encoding", + .llvm_name = "gcn3-encoding", .description = "Encoding format for VI", .dependencies = &[_]*const Feature { }, @@ -300,6 +342,7 @@ pub const feature_gcn3Encoding = Feature{ pub const feature_gfx7Gfx8Gfx9Insts = Feature{ .name = "gfx7-gfx8-gfx9-insts", + .llvm_name = "gfx7-gfx8-gfx9-insts", .description = "Instructions shared in GFX7, GFX8, GFX9", .dependencies = &[_]*const Feature { }, @@ -307,6 +350,7 @@ pub const feature_gfx7Gfx8Gfx9Insts = Feature{ pub const feature_gfx8Insts = Feature{ .name = "gfx8-insts", + .llvm_name = "gfx8-insts", .description = "Additional instructions for GFX8+", .dependencies = &[_]*const Feature { }, @@ -314,6 +358,7 @@ pub const feature_gfx8Insts = Feature{ pub const feature_gfx9Insts = Feature{ .name = "gfx9-insts", + .llvm_name = "gfx9-insts", .description = "Additional instructions for GFX9+", .dependencies = &[_]*const Feature { }, @@ -321,6 +366,7 @@ pub const feature_gfx9Insts = Feature{ pub const feature_gfx10Insts = Feature{ .name = "gfx10-insts", + .llvm_name = "gfx10-insts", .description = "Additional instructions for GFX10+", .dependencies = &[_]*const Feature { }, @@ -328,6 +374,7 @@ pub const feature_gfx10Insts = Feature{ pub const feature_instFwdPrefetchBug = Feature{ .name = "inst-fwd-prefetch-bug", + .llvm_name = "inst-fwd-prefetch-bug", .description = "S_INST_PREFETCH instruction causes shader to hang", .dependencies = &[_]*const Feature { }, @@ -335,6 +382,7 @@ pub const feature_instFwdPrefetchBug = Feature{ pub const feature_intClampInsts = Feature{ .name = "int-clamp-insts", + .llvm_name = "int-clamp-insts", .description = "Support clamp for integer destination", .dependencies = &[_]*const Feature { }, @@ -342,6 +390,7 @@ pub const feature_intClampInsts = Feature{ pub const feature_inv2piInlineImm = Feature{ .name = "inv-2pi-inline-imm", + .llvm_name = "inv-2pi-inline-imm", .description = "Has 1 / (2 * pi) as inline immediate", .dependencies = &[_]*const Feature { }, @@ -349,6 +398,7 @@ pub const feature_inv2piInlineImm = Feature{ pub const feature_ldsbankcount16 = Feature{ .name = "ldsbankcount16", + .llvm_name = "ldsbankcount16", .description = "The number of LDS banks per compute unit.", .dependencies = &[_]*const Feature { }, @@ -356,6 +406,7 @@ pub const feature_ldsbankcount16 = Feature{ pub const feature_ldsbankcount32 = Feature{ .name = "ldsbankcount32", + .llvm_name = "ldsbankcount32", .description = "The number of LDS banks per compute unit.", .dependencies = &[_]*const Feature { }, @@ -363,6 +414,7 @@ pub const feature_ldsbankcount32 = Feature{ pub const feature_ldsBranchVmemWarHazard = Feature{ .name = "lds-branch-vmem-war-hazard", + .llvm_name = "lds-branch-vmem-war-hazard", .description = "Switching between LDS and VMEM-tex not waiting VM_VSRC=0", .dependencies = &[_]*const Feature { }, @@ -370,6 +422,7 @@ pub const feature_ldsBranchVmemWarHazard = Feature{ pub const feature_ldsMisalignedBug = Feature{ .name = "lds-misaligned-bug", + .llvm_name = "lds-misaligned-bug", .description = "Some GFX10 bug with misaligned multi-dword LDS access in WGP mode", .dependencies = &[_]*const Feature { }, @@ -377,6 +430,7 @@ pub const feature_ldsMisalignedBug = Feature{ pub const feature_localmemorysize0 = Feature{ .name = "localmemorysize0", + .llvm_name = "localmemorysize0", .description = "The size of local memory in bytes", .dependencies = &[_]*const Feature { }, @@ -384,6 +438,7 @@ pub const feature_localmemorysize0 = Feature{ pub const feature_localmemorysize32768 = Feature{ .name = "localmemorysize32768", + .llvm_name = "localmemorysize32768", .description = "The size of local memory in bytes", .dependencies = &[_]*const Feature { }, @@ -391,6 +446,7 @@ pub const feature_localmemorysize32768 = Feature{ pub const feature_localmemorysize65536 = Feature{ .name = "localmemorysize65536", + .llvm_name = "localmemorysize65536", .description = "The size of local memory in bytes", .dependencies = &[_]*const Feature { }, @@ -398,6 +454,7 @@ pub const feature_localmemorysize65536 = Feature{ pub const feature_maiInsts = Feature{ .name = "mai-insts", + .llvm_name = "mai-insts", .description = "Has mAI instructions", .dependencies = &[_]*const Feature { }, @@ -405,6 +462,7 @@ pub const feature_maiInsts = Feature{ pub const feature_mfmaInlineLiteralBug = Feature{ .name = "mfma-inline-literal-bug", + .llvm_name = "mfma-inline-literal-bug", .description = "MFMA cannot use inline literal as SrcC", .dependencies = &[_]*const Feature { }, @@ -412,6 +470,7 @@ pub const feature_mfmaInlineLiteralBug = Feature{ pub const feature_mimgR128 = Feature{ .name = "mimg-r128", + .llvm_name = "mimg-r128", .description = "Support 128-bit texture resources", .dependencies = &[_]*const Feature { }, @@ -419,6 +478,7 @@ pub const feature_mimgR128 = Feature{ pub const feature_madMixInsts = Feature{ .name = "mad-mix-insts", + .llvm_name = "mad-mix-insts", .description = "Has v_mad_mix_f32, v_mad_mixlo_f16, v_mad_mixhi_f16 instructions", .dependencies = &[_]*const Feature { }, @@ -426,6 +486,7 @@ pub const feature_madMixInsts = Feature{ pub const feature_maxPrivateElementSize4 = Feature{ .name = "max-private-element-size-4", + .llvm_name = "max-private-element-size-4", .description = "Maximum private access size may be 4", .dependencies = &[_]*const Feature { }, @@ -433,6 +494,7 @@ pub const feature_maxPrivateElementSize4 = Feature{ pub const feature_maxPrivateElementSize8 = Feature{ .name = "max-private-element-size-8", + .llvm_name = "max-private-element-size-8", .description = "Maximum private access size may be 8", .dependencies = &[_]*const Feature { }, @@ -440,6 +502,7 @@ pub const feature_maxPrivateElementSize8 = Feature{ pub const feature_maxPrivateElementSize16 = Feature{ .name = "max-private-element-size-16", + .llvm_name = "max-private-element-size-16", .description = "Maximum private access size may be 16", .dependencies = &[_]*const Feature { }, @@ -447,6 +510,7 @@ pub const feature_maxPrivateElementSize16 = Feature{ pub const feature_movrel = Feature{ .name = "movrel", + .llvm_name = "movrel", .description = "Has v_movrel*_b32 instructions", .dependencies = &[_]*const Feature { }, @@ -454,6 +518,7 @@ pub const feature_movrel = Feature{ pub const feature_nsaEncoding = Feature{ .name = "nsa-encoding", + .llvm_name = "nsa-encoding", .description = "Support NSA encoding for image instructions", .dependencies = &[_]*const Feature { }, @@ -461,6 +526,7 @@ pub const feature_nsaEncoding = Feature{ pub const feature_nsaToVmemBug = Feature{ .name = "nsa-to-vmem-bug", + .llvm_name = "nsa-to-vmem-bug", .description = "MIMG-NSA followed by VMEM fail if EXEC_LO or EXEC_HI equals zero", .dependencies = &[_]*const Feature { }, @@ -468,6 +534,7 @@ pub const feature_nsaToVmemBug = Feature{ pub const feature_noDataDepHazard = Feature{ .name = "no-data-dep-hazard", + .llvm_name = "no-data-dep-hazard", .description = "Does not need SW waitstates", .dependencies = &[_]*const Feature { }, @@ -475,6 +542,7 @@ pub const feature_noDataDepHazard = Feature{ pub const feature_noSdstCmpx = Feature{ .name = "no-sdst-cmpx", + .llvm_name = "no-sdst-cmpx", .description = "V_CMPX does not write VCC/SGPR in addition to EXEC", .dependencies = &[_]*const Feature { }, @@ -482,6 +550,7 @@ pub const feature_noSdstCmpx = Feature{ pub const feature_offset3fBug = Feature{ .name = "offset-3f-bug", + .llvm_name = "offset-3f-bug", .description = "Branch offset of 3f hardware bug", .dependencies = &[_]*const Feature { }, @@ -489,6 +558,7 @@ pub const feature_offset3fBug = Feature{ pub const feature_pkFmacF16Inst = Feature{ .name = "pk-fmac-f16-inst", + .llvm_name = "pk-fmac-f16-inst", .description = "Has v_pk_fmac_f16 instruction", .dependencies = &[_]*const Feature { }, @@ -496,6 +566,7 @@ pub const feature_pkFmacF16Inst = Feature{ pub const feature_promoteAlloca = Feature{ .name = "promote-alloca", + .llvm_name = "promote-alloca", .description = "Enable promote alloca pass", .dependencies = &[_]*const Feature { }, @@ -503,6 +574,7 @@ pub const feature_promoteAlloca = Feature{ pub const feature_r128A16 = Feature{ .name = "r128-a16", + .llvm_name = "r128-a16", .description = "Support 16 bit coordindates/gradients/lod/clamp/mip types on gfx9", .dependencies = &[_]*const Feature { }, @@ -510,6 +582,7 @@ pub const feature_r128A16 = Feature{ pub const feature_registerBanking = Feature{ .name = "register-banking", + .llvm_name = "register-banking", .description = "Has register banking", .dependencies = &[_]*const Feature { }, @@ -517,6 +590,7 @@ pub const feature_registerBanking = Feature{ pub const feature_sdwa = Feature{ .name = "sdwa", + .llvm_name = "sdwa", .description = "Support SDWA (Sub-DWORD Addressing) extension", .dependencies = &[_]*const Feature { }, @@ -524,6 +598,7 @@ pub const feature_sdwa = Feature{ pub const feature_sdwaMav = Feature{ .name = "sdwa-mav", + .llvm_name = "sdwa-mav", .description = "Support v_mac_f32/f16 with SDWA (Sub-DWORD Addressing) extension", .dependencies = &[_]*const Feature { }, @@ -531,6 +606,7 @@ pub const feature_sdwaMav = Feature{ pub const feature_sdwaOmod = Feature{ .name = "sdwa-omod", + .llvm_name = "sdwa-omod", .description = "Support OMod with SDWA (Sub-DWORD Addressing) extension", .dependencies = &[_]*const Feature { }, @@ -538,6 +614,7 @@ pub const feature_sdwaOmod = Feature{ pub const feature_sdwaOutModsVopc = Feature{ .name = "sdwa-out-mods-vopc", + .llvm_name = "sdwa-out-mods-vopc", .description = "Support clamp for VOPC with SDWA (Sub-DWORD Addressing) extension", .dependencies = &[_]*const Feature { }, @@ -545,6 +622,7 @@ pub const feature_sdwaOutModsVopc = Feature{ pub const feature_sdwaScalar = Feature{ .name = "sdwa-scalar", + .llvm_name = "sdwa-scalar", .description = "Support scalar register with SDWA (Sub-DWORD Addressing) extension", .dependencies = &[_]*const Feature { }, @@ -552,6 +630,7 @@ pub const feature_sdwaScalar = Feature{ pub const feature_sdwaSdst = Feature{ .name = "sdwa-sdst", + .llvm_name = "sdwa-sdst", .description = "Support scalar dst for VOPC with SDWA (Sub-DWORD Addressing) extension", .dependencies = &[_]*const Feature { }, @@ -559,6 +638,7 @@ pub const feature_sdwaSdst = Feature{ pub const feature_sgprInitBug = Feature{ .name = "sgpr-init-bug", + .llvm_name = "sgpr-init-bug", .description = "VI SGPR initialization bug requiring a fixed SGPR allocation size", .dependencies = &[_]*const Feature { }, @@ -566,6 +646,7 @@ pub const feature_sgprInitBug = Feature{ pub const feature_smemToVectorWriteHazard = Feature{ .name = "smem-to-vector-write-hazard", + .llvm_name = "smem-to-vector-write-hazard", .description = "s_load_dword followed by v_cmp page faults", .dependencies = &[_]*const Feature { }, @@ -573,6 +654,7 @@ pub const feature_smemToVectorWriteHazard = Feature{ pub const feature_sMemrealtime = Feature{ .name = "s-memrealtime", + .llvm_name = "s-memrealtime", .description = "Has s_memrealtime instruction", .dependencies = &[_]*const Feature { }, @@ -580,6 +662,7 @@ pub const feature_sMemrealtime = Feature{ pub const feature_sramEcc = Feature{ .name = "sram-ecc", + .llvm_name = "sram-ecc", .description = "Enable SRAM ECC", .dependencies = &[_]*const Feature { }, @@ -587,6 +670,7 @@ pub const feature_sramEcc = Feature{ pub const feature_scalarAtomics = Feature{ .name = "scalar-atomics", + .llvm_name = "scalar-atomics", .description = "Has atomic scalar memory instructions", .dependencies = &[_]*const Feature { }, @@ -594,6 +678,7 @@ pub const feature_scalarAtomics = Feature{ pub const feature_scalarFlatScratchInsts = Feature{ .name = "scalar-flat-scratch-insts", + .llvm_name = "scalar-flat-scratch-insts", .description = "Have s_scratch_* flat memory instructions", .dependencies = &[_]*const Feature { }, @@ -601,6 +686,7 @@ pub const feature_scalarFlatScratchInsts = Feature{ pub const feature_scalarStores = Feature{ .name = "scalar-stores", + .llvm_name = "scalar-stores", .description = "Has store scalar memory instructions", .dependencies = &[_]*const Feature { }, @@ -608,6 +694,7 @@ pub const feature_scalarStores = Feature{ pub const feature_trapHandler = Feature{ .name = "trap-handler", + .llvm_name = "trap-handler", .description = "Trap handler support", .dependencies = &[_]*const Feature { }, @@ -615,6 +702,7 @@ pub const feature_trapHandler = Feature{ pub const feature_trigReducedRange = Feature{ .name = "trig-reduced-range", + .llvm_name = "trig-reduced-range", .description = "Requires use of fract on arguments to trig instructions", .dependencies = &[_]*const Feature { }, @@ -622,6 +710,7 @@ pub const feature_trigReducedRange = Feature{ pub const feature_unalignedBufferAccess = Feature{ .name = "unaligned-buffer-access", + .llvm_name = "unaligned-buffer-access", .description = "Support unaligned global loads and stores", .dependencies = &[_]*const Feature { }, @@ -629,6 +718,7 @@ pub const feature_unalignedBufferAccess = Feature{ pub const feature_unalignedScratchAccess = Feature{ .name = "unaligned-scratch-access", + .llvm_name = "unaligned-scratch-access", .description = "Support unaligned scratch loads and stores", .dependencies = &[_]*const Feature { }, @@ -636,6 +726,7 @@ pub const feature_unalignedScratchAccess = Feature{ pub const feature_unpackedD16Vmem = Feature{ .name = "unpacked-d16-vmem", + .llvm_name = "unpacked-d16-vmem", .description = "Has unpacked d16 vmem instructions", .dependencies = &[_]*const Feature { }, @@ -643,6 +734,7 @@ pub const feature_unpackedD16Vmem = Feature{ pub const feature_vgprIndexMode = Feature{ .name = "vgpr-index-mode", + .llvm_name = "vgpr-index-mode", .description = "Has VGPR mode register indexing", .dependencies = &[_]*const Feature { }, @@ -650,6 +742,7 @@ pub const feature_vgprIndexMode = Feature{ pub const feature_vmemToScalarWriteHazard = Feature{ .name = "vmem-to-scalar-write-hazard", + .llvm_name = "vmem-to-scalar-write-hazard", .description = "VMEM instruction followed by scalar writing to EXEC mask, M0 or SGPR leads to incorrect execution.", .dependencies = &[_]*const Feature { }, @@ -657,6 +750,7 @@ pub const feature_vmemToScalarWriteHazard = Feature{ pub const feature_vop3Literal = Feature{ .name = "vop3-literal", + .llvm_name = "vop3-literal", .description = "Can use one literal in VOP3", .dependencies = &[_]*const Feature { }, @@ -664,6 +758,7 @@ pub const feature_vop3Literal = Feature{ pub const feature_vop3p = Feature{ .name = "vop3p", + .llvm_name = "vop3p", .description = "Has VOP3P packed instructions", .dependencies = &[_]*const Feature { }, @@ -671,6 +766,7 @@ pub const feature_vop3p = Feature{ pub const feature_vcmpxExecWarHazard = Feature{ .name = "vcmpx-exec-war-hazard", + .llvm_name = "vcmpx-exec-war-hazard", .description = "V_CMPX WAR hazard on EXEC (V_CMPX issue ONLY)", .dependencies = &[_]*const Feature { }, @@ -678,6 +774,7 @@ pub const feature_vcmpxExecWarHazard = Feature{ pub const feature_vcmpxPermlaneHazard = Feature{ .name = "vcmpx-permlane-hazard", + .llvm_name = "vcmpx-permlane-hazard", .description = "TODO: describe me", .dependencies = &[_]*const Feature { }, @@ -685,6 +782,7 @@ pub const feature_vcmpxPermlaneHazard = Feature{ pub const feature_vscnt = Feature{ .name = "vscnt", + .llvm_name = "vscnt", .description = "Has separate store vscnt counter", .dependencies = &[_]*const Feature { }, @@ -692,6 +790,7 @@ pub const feature_vscnt = Feature{ pub const feature_wavefrontsize16 = Feature{ .name = "wavefrontsize16", + .llvm_name = "wavefrontsize16", .description = "The number of threads per wavefront", .dependencies = &[_]*const Feature { }, @@ -699,6 +798,7 @@ pub const feature_wavefrontsize16 = Feature{ pub const feature_wavefrontsize32 = Feature{ .name = "wavefrontsize32", + .llvm_name = "wavefrontsize32", .description = "The number of threads per wavefront", .dependencies = &[_]*const Feature { }, @@ -706,6 +806,7 @@ pub const feature_wavefrontsize32 = Feature{ pub const feature_wavefrontsize64 = Feature{ .name = "wavefrontsize64", + .llvm_name = "wavefrontsize64", .description = "The number of threads per wavefront", .dependencies = &[_]*const Feature { }, @@ -713,6 +814,7 @@ pub const feature_wavefrontsize64 = Feature{ pub const feature_xnack = Feature{ .name = "xnack", + .llvm_name = "xnack", .description = "Enable XNACK support", .dependencies = &[_]*const Feature { }, @@ -720,6 +822,7 @@ pub const feature_xnack = Feature{ pub const feature_halfRate64Ops = Feature{ .name = "half-rate-64-ops", + .llvm_name = "half-rate-64-ops", .description = "Most fp64 instructions are half rate instead of quarter", .dependencies = &[_]*const Feature { }, @@ -838,16 +941,16 @@ pub const cpu_bonaire = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, }, }; @@ -859,28 +962,28 @@ pub const cpu_carrizo = Cpu{ &feature_fastFmaf, &feature_ldsbankcount32, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, &feature_xnack, &feature_halfRate64Ops, }, @@ -894,28 +997,28 @@ pub const cpu_fiji = Cpu{ &feature_noXnackSupport, &feature_ldsbankcount32, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, }, }; @@ -944,40 +1047,40 @@ pub const cpu_gfx1010 = Cpu{ &feature_dlInsts, &feature_noXnackSupport, &feature_flatSegmentOffsetBug, - &feature_noSdstCmpx, - &feature_flatScratchInsts, - &feature_fp64, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, - &feature_fastFmaf, - &feature_BitInsts16, - &feature_sdwa, - &feature_gfx9Insts, &feature_flatAddressSpace, - &feature_vop3Literal, - &feature_apertureRegs, + &feature_gfx9Insts, + &feature_fastFmaf, + &feature_flatScratchInsts, &feature_mimgR128, - &feature_sdwaScalar, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, - &feature_gfx8Insts, + &feature_noSdstCmpx, + &feature_sdwaSdst, + &feature_vop3p, &feature_intClampInsts, - &feature_vscnt, + &feature_dpp, + &feature_registerBanking, &feature_movrel, - &feature_localmemorysize65536, - &feature_gfx10Insts, + &feature_gfx8Insts, + &feature_sdwa, + &feature_noDataDepHazard, &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp8, + &feature_gfx10Insts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_pkFmacF16Inst, - &feature_dpp, - &feature_sdwaSdst, &feature_flatInstOffsets, &feature_fmaMixInsts, - &feature_registerBanking, - &feature_noDataDepHazard, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_vscnt, + &feature_apertureRegs, + &feature_dpp8, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, + &feature_vop3Literal, &feature_instFwdPrefetchBug, &feature_ldsbankcount32, &feature_ldsBranchVmemWarHazard, @@ -1008,40 +1111,40 @@ pub const cpu_gfx1011 = Cpu{ &feature_dot5Insts, &feature_dot6Insts, &feature_flatSegmentOffsetBug, - &feature_noSdstCmpx, - &feature_flatScratchInsts, - &feature_fp64, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, - &feature_fastFmaf, - &feature_BitInsts16, - &feature_sdwa, - &feature_gfx9Insts, &feature_flatAddressSpace, - &feature_vop3Literal, - &feature_apertureRegs, + &feature_gfx9Insts, + &feature_fastFmaf, + &feature_flatScratchInsts, &feature_mimgR128, - &feature_sdwaScalar, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, - &feature_gfx8Insts, + &feature_noSdstCmpx, + &feature_sdwaSdst, + &feature_vop3p, &feature_intClampInsts, - &feature_vscnt, + &feature_dpp, + &feature_registerBanking, &feature_movrel, - &feature_localmemorysize65536, - &feature_gfx10Insts, + &feature_gfx8Insts, + &feature_sdwa, + &feature_noDataDepHazard, &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp8, + &feature_gfx10Insts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_pkFmacF16Inst, - &feature_dpp, - &feature_sdwaSdst, &feature_flatInstOffsets, &feature_fmaMixInsts, - &feature_registerBanking, - &feature_noDataDepHazard, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_vscnt, + &feature_apertureRegs, + &feature_dpp8, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, + &feature_vop3Literal, &feature_instFwdPrefetchBug, &feature_ldsbankcount32, &feature_ldsBranchVmemWarHazard, @@ -1071,40 +1174,40 @@ pub const cpu_gfx1012 = Cpu{ &feature_dot5Insts, &feature_dot6Insts, &feature_flatSegmentOffsetBug, - &feature_noSdstCmpx, - &feature_flatScratchInsts, - &feature_fp64, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, - &feature_fastFmaf, - &feature_BitInsts16, - &feature_sdwa, - &feature_gfx9Insts, &feature_flatAddressSpace, - &feature_vop3Literal, - &feature_apertureRegs, + &feature_gfx9Insts, + &feature_fastFmaf, + &feature_flatScratchInsts, &feature_mimgR128, - &feature_sdwaScalar, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, - &feature_gfx8Insts, + &feature_noSdstCmpx, + &feature_sdwaSdst, + &feature_vop3p, &feature_intClampInsts, - &feature_vscnt, + &feature_dpp, + &feature_registerBanking, &feature_movrel, - &feature_localmemorysize65536, - &feature_gfx10Insts, + &feature_gfx8Insts, + &feature_sdwa, + &feature_noDataDepHazard, &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp8, + &feature_gfx10Insts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_pkFmacF16Inst, - &feature_dpp, - &feature_sdwaSdst, &feature_flatInstOffsets, &feature_fmaMixInsts, - &feature_registerBanking, - &feature_noDataDepHazard, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_vscnt, + &feature_apertureRegs, + &feature_dpp8, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, + &feature_vop3Literal, &feature_instFwdPrefetchBug, &feature_ldsbankcount32, &feature_ldsBranchVmemWarHazard, @@ -1131,13 +1234,13 @@ pub const cpu_gfx600 = Cpu{ &feature_noXnackSupport, &feature_fastFmaf, &feature_ldsbankcount32, - &feature_localmemorysize32768, - &feature_fp64, - &feature_mimgR128, &feature_movrel, - &feature_noSramEccSupport, - &feature_wavefrontsize64, &feature_trigReducedRange, + &feature_mimgR128, + &feature_localmemorysize32768, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_fp64, &feature_halfRate64Ops, }, }; @@ -1149,13 +1252,13 @@ pub const cpu_gfx601 = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, - &feature_localmemorysize32768, - &feature_fp64, - &feature_mimgR128, &feature_movrel, - &feature_noSramEccSupport, - &feature_wavefrontsize64, &feature_trigReducedRange, + &feature_mimgR128, + &feature_localmemorysize32768, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_fp64, }, }; @@ -1166,16 +1269,16 @@ pub const cpu_gfx700 = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, }, }; @@ -1187,16 +1290,16 @@ pub const cpu_gfx701 = Cpu{ &feature_noXnackSupport, &feature_fastFmaf, &feature_ldsbankcount32, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, &feature_halfRate64Ops, }, }; @@ -1209,16 +1312,16 @@ pub const cpu_gfx702 = Cpu{ &feature_noXnackSupport, &feature_fastFmaf, &feature_ldsbankcount16, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, }, }; @@ -1229,16 +1332,16 @@ pub const cpu_gfx703 = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount16, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, }, }; @@ -1249,16 +1352,16 @@ pub const cpu_gfx704 = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, }, }; @@ -1270,28 +1373,28 @@ pub const cpu_gfx801 = Cpu{ &feature_fastFmaf, &feature_ldsbankcount32, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, &feature_xnack, &feature_halfRate64Ops, }, @@ -1306,28 +1409,28 @@ pub const cpu_gfx802 = Cpu{ &feature_ldsbankcount32, &feature_sgprInitBug, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, }, }; @@ -1339,28 +1442,28 @@ pub const cpu_gfx803 = Cpu{ &feature_noXnackSupport, &feature_ldsbankcount32, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, }, }; @@ -1370,28 +1473,28 @@ pub const cpu_gfx810 = Cpu{ .dependencies = &[_]*const Feature { &feature_codeObjectV3, &feature_ldsbankcount16, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, &feature_xnack, }, }; @@ -1403,36 +1506,36 @@ pub const cpu_gfx900 = Cpu{ &feature_codeObjectV3, &feature_noSramEccSupport, &feature_noXnackSupport, - &feature_flatScratchInsts, - &feature_fp64, - &feature_r128A16, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, + &feature_scalarStores, + &feature_flatAddressSpace, + &feature_vgprIndexMode, + &feature_gfx9Insts, + &feature_r128A16, &feature_fastFmaf, - &feature_BitInsts16, &feature_wavefrontsize64, - &feature_sdwa, - &feature_gfx9Insts, - &feature_flatAddressSpace, - &feature_apertureRegs, - &feature_sdwaScalar, - &feature_ciInsts, + &feature_flatScratchInsts, + &feature_sdwaSdst, + &feature_vop3p, + &feature_intClampInsts, + &feature_dpp, &feature_scalarAtomics, - &feature_scalarFlatScratchInsts, - &feature_inv2piInlineImm, - &feature_vgprIndexMode, &feature_gcn3Encoding, &feature_gfx8Insts, - &feature_scalarStores, - &feature_intClampInsts, - &feature_localmemorysize65536, - &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp, &feature_gfx7Gfx8Gfx9Insts, - &feature_sdwaSdst, + &feature_sdwa, + &feature_flatGlobalInsts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_flatInstOffsets, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_apertureRegs, + &feature_fp64, + &feature_ciInsts, + &feature_scalarFlatScratchInsts, &feature_ldsbankcount32, &feature_madMixInsts, }, @@ -1444,36 +1547,36 @@ pub const cpu_gfx902 = Cpu{ .dependencies = &[_]*const Feature { &feature_codeObjectV3, &feature_noSramEccSupport, - &feature_flatScratchInsts, - &feature_fp64, - &feature_r128A16, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, + &feature_scalarStores, + &feature_flatAddressSpace, + &feature_vgprIndexMode, + &feature_gfx9Insts, + &feature_r128A16, &feature_fastFmaf, - &feature_BitInsts16, &feature_wavefrontsize64, - &feature_sdwa, - &feature_gfx9Insts, - &feature_flatAddressSpace, - &feature_apertureRegs, - &feature_sdwaScalar, - &feature_ciInsts, + &feature_flatScratchInsts, + &feature_sdwaSdst, + &feature_vop3p, + &feature_intClampInsts, + &feature_dpp, &feature_scalarAtomics, - &feature_scalarFlatScratchInsts, - &feature_inv2piInlineImm, - &feature_vgprIndexMode, &feature_gcn3Encoding, &feature_gfx8Insts, - &feature_scalarStores, - &feature_intClampInsts, - &feature_localmemorysize65536, - &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp, &feature_gfx7Gfx8Gfx9Insts, - &feature_sdwaSdst, + &feature_sdwa, + &feature_flatGlobalInsts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_flatInstOffsets, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_apertureRegs, + &feature_fp64, + &feature_ciInsts, + &feature_scalarFlatScratchInsts, &feature_ldsbankcount32, &feature_madMixInsts, &feature_xnack, @@ -1488,36 +1591,36 @@ pub const cpu_gfx904 = Cpu{ &feature_noSramEccSupport, &feature_noXnackSupport, &feature_fmaMixInsts, - &feature_flatScratchInsts, - &feature_fp64, - &feature_r128A16, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, + &feature_scalarStores, + &feature_flatAddressSpace, + &feature_vgprIndexMode, + &feature_gfx9Insts, + &feature_r128A16, &feature_fastFmaf, - &feature_BitInsts16, &feature_wavefrontsize64, - &feature_sdwa, - &feature_gfx9Insts, - &feature_flatAddressSpace, - &feature_apertureRegs, - &feature_sdwaScalar, - &feature_ciInsts, + &feature_flatScratchInsts, + &feature_sdwaSdst, + &feature_vop3p, + &feature_intClampInsts, + &feature_dpp, &feature_scalarAtomics, - &feature_scalarFlatScratchInsts, - &feature_inv2piInlineImm, - &feature_vgprIndexMode, &feature_gcn3Encoding, &feature_gfx8Insts, - &feature_scalarStores, - &feature_intClampInsts, - &feature_localmemorysize65536, - &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp, &feature_gfx7Gfx8Gfx9Insts, - &feature_sdwaSdst, + &feature_sdwa, + &feature_flatGlobalInsts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_flatInstOffsets, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_apertureRegs, + &feature_fp64, + &feature_ciInsts, + &feature_scalarFlatScratchInsts, &feature_ldsbankcount32, }, }; @@ -1532,36 +1635,36 @@ pub const cpu_gfx906 = Cpu{ &feature_dot1Insts, &feature_dot2Insts, &feature_fmaMixInsts, - &feature_flatScratchInsts, - &feature_fp64, - &feature_r128A16, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, + &feature_scalarStores, + &feature_flatAddressSpace, + &feature_vgprIndexMode, + &feature_gfx9Insts, + &feature_r128A16, &feature_fastFmaf, - &feature_BitInsts16, &feature_wavefrontsize64, - &feature_sdwa, - &feature_gfx9Insts, - &feature_flatAddressSpace, - &feature_apertureRegs, - &feature_sdwaScalar, - &feature_ciInsts, + &feature_flatScratchInsts, + &feature_sdwaSdst, + &feature_vop3p, + &feature_intClampInsts, + &feature_dpp, &feature_scalarAtomics, - &feature_scalarFlatScratchInsts, - &feature_inv2piInlineImm, - &feature_vgprIndexMode, &feature_gcn3Encoding, &feature_gfx8Insts, - &feature_scalarStores, - &feature_intClampInsts, - &feature_localmemorysize65536, - &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp, &feature_gfx7Gfx8Gfx9Insts, - &feature_sdwaSdst, + &feature_sdwa, + &feature_flatGlobalInsts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_flatInstOffsets, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_apertureRegs, + &feature_fp64, + &feature_ciInsts, + &feature_scalarFlatScratchInsts, &feature_ldsbankcount32, &feature_halfRate64Ops, }, @@ -1581,36 +1684,36 @@ pub const cpu_gfx908 = Cpu{ &feature_dot5Insts, &feature_dot6Insts, &feature_fmaMixInsts, - &feature_flatScratchInsts, - &feature_fp64, - &feature_r128A16, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, + &feature_scalarStores, + &feature_flatAddressSpace, + &feature_vgprIndexMode, + &feature_gfx9Insts, + &feature_r128A16, &feature_fastFmaf, - &feature_BitInsts16, &feature_wavefrontsize64, - &feature_sdwa, - &feature_gfx9Insts, - &feature_flatAddressSpace, - &feature_apertureRegs, - &feature_sdwaScalar, - &feature_ciInsts, + &feature_flatScratchInsts, + &feature_sdwaSdst, + &feature_vop3p, + &feature_intClampInsts, + &feature_dpp, &feature_scalarAtomics, - &feature_scalarFlatScratchInsts, - &feature_inv2piInlineImm, - &feature_vgprIndexMode, &feature_gcn3Encoding, &feature_gfx8Insts, - &feature_scalarStores, - &feature_intClampInsts, - &feature_localmemorysize65536, - &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp, &feature_gfx7Gfx8Gfx9Insts, - &feature_sdwaSdst, + &feature_sdwa, + &feature_flatGlobalInsts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_flatInstOffsets, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_apertureRegs, + &feature_fp64, + &feature_ciInsts, + &feature_scalarFlatScratchInsts, &feature_ldsbankcount32, &feature_maiInsts, &feature_mfmaInlineLiteralBug, @@ -1625,36 +1728,36 @@ pub const cpu_gfx909 = Cpu{ .llvm_name = "gfx909", .dependencies = &[_]*const Feature { &feature_codeObjectV3, - &feature_flatScratchInsts, - &feature_fp64, - &feature_r128A16, + &feature_sdwaOmod, &feature_sMemrealtime, - &feature_addNoCarryInsts, - &feature_vop3p, + &feature_scalarStores, + &feature_flatAddressSpace, + &feature_vgprIndexMode, + &feature_gfx9Insts, + &feature_r128A16, &feature_fastFmaf, - &feature_BitInsts16, &feature_wavefrontsize64, - &feature_sdwa, - &feature_gfx9Insts, - &feature_flatAddressSpace, - &feature_apertureRegs, - &feature_sdwaScalar, - &feature_ciInsts, + &feature_flatScratchInsts, + &feature_sdwaSdst, + &feature_vop3p, + &feature_intClampInsts, + &feature_dpp, &feature_scalarAtomics, - &feature_scalarFlatScratchInsts, - &feature_inv2piInlineImm, - &feature_vgprIndexMode, &feature_gcn3Encoding, &feature_gfx8Insts, - &feature_scalarStores, - &feature_intClampInsts, - &feature_localmemorysize65536, - &feature_flatGlobalInsts, - &feature_sdwaOmod, - &feature_dpp, &feature_gfx7Gfx8Gfx9Insts, - &feature_sdwaSdst, + &feature_sdwa, + &feature_flatGlobalInsts, + &feature_localmemorysize65536, + &feature_BitInsts16, + &feature_addNoCarryInsts, &feature_flatInstOffsets, + &feature_sdwaScalar, + &feature_inv2piInlineImm, + &feature_apertureRegs, + &feature_fp64, + &feature_ciInsts, + &feature_scalarFlatScratchInsts, &feature_ldsbankcount32, &feature_madMixInsts, &feature_xnack, @@ -1668,13 +1771,13 @@ pub const cpu_hainan = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, - &feature_localmemorysize32768, - &feature_fp64, - &feature_mimgR128, &feature_movrel, - &feature_noSramEccSupport, - &feature_wavefrontsize64, &feature_trigReducedRange, + &feature_mimgR128, + &feature_localmemorysize32768, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_fp64, }, }; @@ -1686,16 +1789,16 @@ pub const cpu_hawaii = Cpu{ &feature_noXnackSupport, &feature_fastFmaf, &feature_ldsbankcount32, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, &feature_halfRate64Ops, }, }; @@ -1709,28 +1812,28 @@ pub const cpu_iceland = Cpu{ &feature_ldsbankcount32, &feature_sgprInitBug, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, }, }; @@ -1741,16 +1844,16 @@ pub const cpu_kabini = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount16, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, }, }; @@ -1761,16 +1864,16 @@ pub const cpu_kaveri = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, }, }; @@ -1781,16 +1884,16 @@ pub const cpu_mullins = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount16, + &feature_movrel, &feature_flatAddressSpace, - &feature_fp64, - &feature_mimgR128, + &feature_trigReducedRange, &feature_gfx7Gfx8Gfx9Insts, - &feature_movrel, + &feature_wavefrontsize64, + &feature_mimgR128, + &feature_noSramEccSupport, &feature_localmemorysize65536, + &feature_fp64, &feature_ciInsts, - &feature_noSramEccSupport, - &feature_wavefrontsize64, - &feature_trigReducedRange, }, }; @@ -1801,13 +1904,13 @@ pub const cpu_oland = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, - &feature_localmemorysize32768, - &feature_fp64, - &feature_mimgR128, &feature_movrel, - &feature_noSramEccSupport, - &feature_wavefrontsize64, &feature_trigReducedRange, + &feature_mimgR128, + &feature_localmemorysize32768, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_fp64, }, }; @@ -1818,13 +1921,13 @@ pub const cpu_pitcairn = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, - &feature_localmemorysize32768, - &feature_fp64, - &feature_mimgR128, &feature_movrel, - &feature_noSramEccSupport, - &feature_wavefrontsize64, &feature_trigReducedRange, + &feature_mimgR128, + &feature_localmemorysize32768, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_fp64, }, }; @@ -1836,28 +1939,28 @@ pub const cpu_polaris10 = Cpu{ &feature_noXnackSupport, &feature_ldsbankcount32, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, }, }; @@ -1869,28 +1972,28 @@ pub const cpu_polaris11 = Cpu{ &feature_noXnackSupport, &feature_ldsbankcount32, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, }, }; @@ -1900,28 +2003,28 @@ pub const cpu_stoney = Cpu{ .dependencies = &[_]*const Feature { &feature_codeObjectV3, &feature_ldsbankcount16, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, &feature_xnack, }, }; @@ -1934,13 +2037,13 @@ pub const cpu_tahiti = Cpu{ &feature_noXnackSupport, &feature_fastFmaf, &feature_ldsbankcount32, - &feature_localmemorysize32768, - &feature_fp64, - &feature_mimgR128, &feature_movrel, - &feature_noSramEccSupport, - &feature_wavefrontsize64, &feature_trigReducedRange, + &feature_mimgR128, + &feature_localmemorysize32768, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_fp64, &feature_halfRate64Ops, }, }; @@ -1954,28 +2057,28 @@ pub const cpu_tonga = Cpu{ &feature_ldsbankcount32, &feature_sgprInitBug, &feature_unpackedD16Vmem, - &feature_fp64, &feature_sMemrealtime, - &feature_BitInsts16, - &feature_wavefrontsize64, - &feature_sdwa, + &feature_scalarStores, &feature_flatAddressSpace, - &feature_sdwaMav, - &feature_mimgR128, - &feature_ciInsts, - &feature_noSramEccSupport, - &feature_inv2piInlineImm, &feature_vgprIndexMode, - &feature_gcn3Encoding, - &feature_gfx8Insts, - &feature_scalarStores, + &feature_wavefrontsize64, + &feature_mimgR128, &feature_intClampInsts, + &feature_dpp, &feature_movrel, + &feature_gcn3Encoding, + &feature_gfx8Insts, + &feature_trigReducedRange, + &feature_gfx7Gfx8Gfx9Insts, + &feature_sdwaMav, + &feature_sdwa, &feature_localmemorysize65536, + &feature_BitInsts16, &feature_sdwaOutModsVopc, - &feature_dpp, - &feature_gfx7Gfx8Gfx9Insts, - &feature_trigReducedRange, + &feature_inv2piInlineImm, + &feature_noSramEccSupport, + &feature_fp64, + &feature_ciInsts, }, }; @@ -1986,13 +2089,13 @@ pub const cpu_verde = Cpu{ &feature_codeObjectV3, &feature_noXnackSupport, &feature_ldsbankcount32, - &feature_localmemorysize32768, - &feature_fp64, - &feature_mimgR128, &feature_movrel, - &feature_noSramEccSupport, - &feature_wavefrontsize64, &feature_trigReducedRange, + &feature_mimgR128, + &feature_localmemorysize32768, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_fp64, }, }; |
