llvm/llvm-project
Vedi su GitHub[AMDGPU][GlobalISel] Missing opcodes/intrinsics rules in AMDGPURegBankLegalize
Open
Aperta il 16 apr 2026
backend:AMDGPUgood first issuellvm:globalisel
Descrizione
Missing opcode/intrinsic rules in AMDGPURegBankLegalizeRules.cpp for uniform/divergent register-bank legalization.
Note: This list may not be complete or up to date. Some items may have pull requests in review or have already landed.
Opcodes
-
G_AMDGPU_FLAT_LOAD_MONITOR -
G_AMDGPU_GLOBAL_LOAD_MONITOR -
G_AMDGPU_SPONENTRY(in progress) -
G_ATOMICRMW_USUB_COND(in progress) -
G_ATOMICRMW_USUB_SAT(in progress) -
G_BITCAST -
G_FCONSTANT -
G_FMAXIMUMNUM -
G_FMINIMUMNUM -
G_FPTOSI_SAT(in progress, @asadium) -
G_FPTOUI_SAT(in progress, @asadium) -
G_INTRINSIC_FPTRUNC_ROUND(in progress)
Intrinsics
-
amdgcn_cluster_load_async_to_lds_b128 -
amdgcn_cluster_load_async_to_lds_b32 -
amdgcn_cluster_load_async_to_lds_b64 -
amdgcn_cluster_load_async_to_lds_b8 -
amdgcn_cluster_load_b128 -
amdgcn_cluster_load_b32 -
amdgcn_cluster_load_b64 -
amdgcn_cvt_f16_bf8(in progress, @slant14) -
amdgcn_cvt_f16_fp8(in progress, @slant14) -
amdgcn_cvt_f32_bf8 -
amdgcn_cvt_f32_fp8 -
amdgcn_cvt_f32_fp8_e5m3 -
amdgcn_cvt_off_f32_i4 -
amdgcn_cvt_pk_bf8_f16 -
amdgcn_cvt_pk_bf8_f32 -
amdgcn_cvt_pk_f16_bf8 -
amdgcn_cvt_pk_f16_fp8 -
amdgcn_cvt_pk_f32_bf8 -
amdgcn_cvt_pk_f32_fp8 -
amdgcn_cvt_pk_fp8_f16 -
amdgcn_cvt_pk_fp8_f32 -
amdgcn_cvt_pk_fp8_f32_e5m3 -
amdgcn_cvt_scalef32_2xpk16_bf6_f32 -
amdgcn_cvt_scalef32_2xpk16_fp6_f32 -
amdgcn_cvt_scalef32_f16_bf8 -
amdgcn_cvt_scalef32_f16_fp8 -
amdgcn_cvt_scalef32_f32_bf8 -
amdgcn_cvt_scalef32_f32_fp8 -
amdgcn_cvt_scalef32_pk32_bf6_f16 -
amdgcn_cvt_scalef32_pk32_f16_bf6 -
amdgcn_cvt_scalef32_pk32_f16_fp6 -
amdgcn_cvt_scalef32_pk32_f32_bf6 -
amdgcn_cvt_scalef32_pk32_f32_fp6 -
amdgcn_cvt_scalef32_pk32_fp6_f16 -
amdgcn_cvt_scalef32_pk_bf8_f16 -
amdgcn_cvt_scalef32_pk_bf8_f32 -
amdgcn_cvt_scalef32_pk_f16_bf8 -
amdgcn_cvt_scalef32_pk_f16_fp4 -
amdgcn_cvt_scalef32_pk_f16_fp8 -
amdgcn_cvt_scalef32_pk_f32_bf8 -
amdgcn_cvt_scalef32_pk_f32_fp4 -
amdgcn_cvt_scalef32_pk_f32_fp8 -
amdgcn_cvt_scalef32_pk_fp4_f16 -
amdgcn_cvt_scalef32_pk_fp4_f32 -
amdgcn_cvt_scalef32_pk_fp8_f16 -
amdgcn_cvt_scalef32_pk_fp8_f32 -
amdgcn_cvt_scalef32_sr_bf8_f16(in progress) -
amdgcn_cvt_scalef32_sr_bf8_f32(in progress) -
amdgcn_cvt_scalef32_sr_fp8_f16(in progress) -
amdgcn_cvt_scalef32_sr_fp8_f32(in progress) -
amdgcn_cvt_scalef32_sr_pk32_bf6_bf16 -
amdgcn_cvt_scalef32_sr_pk32_bf6_f16 -
amdgcn_cvt_scalef32_sr_pk32_bf6_f32 -
amdgcn_cvt_scalef32_sr_pk32_fp6_f16 -
amdgcn_cvt_scalef32_sr_pk32_fp6_f32 -
amdgcn_cvt_scalef32_sr_pk_fp4_f16(in progress) -
amdgcn_cvt_scalef32_sr_pk_fp4_f32(in progress) -
amdgcn_cvt_sr_bf8_f16 -
amdgcn_cvt_sr_bf8_f32 -
amdgcn_cvt_sr_f16_f32 -
amdgcn_cvt_sr_fp8_f16 -
amdgcn_cvt_sr_fp8_f32 -
amdgcn_cvt_sr_fp8_f32_e5m3 -
amdgcn_cvt_sr_pk_f16_f32 -
amdgcn_ds_atomic_async_barrier_arrive_b64 -
amdgcn_ds_atomic_barrier_arrive_rtn_b64 -
amdgcn_flat_prefetch -
amdgcn_frexp_exp(in progress) -
amdgcn_global_load_tr4_b64 -
amdgcn_global_load_tr6_b96 -
amdgcn_global_prefetch -
amdgcn_global_store_async_from_lds_b128 -
amdgcn_global_store_async_from_lds_b32 -
amdgcn_global_store_async_from_lds_b64 -
amdgcn_global_store_async_from_lds_b8 -
amdgcn_load_to_lds(in progress) -
amdgcn_log -
amdgcn_permlane_bcast -
amdgcn_permlane_down -
amdgcn_permlane_idx_gen -
amdgcn_permlane_up -
amdgcn_permlane_xor -
amdgcn_raw_buffer_load_async_lds(in progress) -
amdgcn_raw_ptr_buffer_load_async_lds(in progress) -
amdgcn_rcp -
amdgcn_rsq -
amdgcn_rsq_clamp -
amdgcn_s_alloc_vgpr -
amdgcn_sat_pk4_i4_i8 -
amdgcn_sat_pk4_u4_u8 -
amdgcn_s_bitreplicate(in progress) -
amdgcn_set_inactive(in progress) -
amdgcn_set_inactive_chain_arg(in progress) -
amdgcn_sqrt -
amdgcn_struct_buffer_load_async_lds(in progress) -
amdgcn_struct_ptr_buffer_load_async_lds(in progress) -
amdgcn_unreachable -
amdgcn_wave_shuffle(in progress)