================ @@ -277,16 +277,31 @@ def : GCNPat <(vt (int_amdgcn_set_inactive vt:$src, vt:$inactive)), def : GCNPat<(i32 (int_amdgcn_set_inactive_chain_arg i32:$src, i32:$inactive)), (V_SET_INACTIVE_B32 0, VGPR_32:$src, 0, VGPR_32:$inactive, (IMPLICIT_DEF))>; -let usesCustomInserter = 1, hasSideEffects = 0, mayLoad = 0, mayStore = 0, Uses = [EXEC] in { - def WAVE_REDUCE_UMIN_PSEUDO_U32 : VPseudoInstSI <(outs SGPR_32:$sdst), - (ins VSrc_b32: $src, VSrc_b32:$strategy), - [(set i32:$sdst, (int_amdgcn_wave_reduce_umin i32:$src, i32:$strategy))]> { +// clang-format off +defvar int_amdgcn_wave_reduce_ = "int_amdgcn_wave_reduce_"; +multiclass + AMDGPUWaveReducePseudoGenerator<string Op, string DataType, string Size> { + let usesCustomInserter = 1, hasSideEffects = 0, mayLoad = 0, mayStore = 0, Uses = [EXEC] in { + def !toupper(Op) #"_PSEUDO_" #DataType #Size + : VPseudoInstSI<(outs SGPR_32 : $sdst), + (ins VSrc_b32 : $src, VSrc_b32 : $strategy), + [(set i32 : $sdst, (!cast<AMDGPUWaveReduce>(int_amdgcn_wave_reduce_ #Op) i32 : $src, i32 : $strategy))]> {} } +} +// clang-format on ---------------- shiltian wrote:
why do we need `clang-format` control here? https://github.com/llvm/llvm-project/pull/127013 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits