diff --git a/llvm/lib/Target/AMDGPU/VOP2Instructions.td b/llvm/lib/Target/AMDGPU/VOP2Instructions.td index 1ae974a26aa44..9323372690065 100644 --- a/llvm/lib/Target/AMDGPU/VOP2Instructions.td +++ b/llvm/lib/Target/AMDGPU/VOP2Instructions.td @@ -2512,6 +2512,7 @@ defm V_FMAAK_F32 : VOP2_Real_MADK_gfx940 <0x18>; } multiclass VOP2_Real_DOT_ACC_gfx9 op> : Base_VOP2_Real_e32e64_vi { + let SubtargetPredicate = isGFX9Only in def _dpp_vi : VOP2_DPP(NAME#"_dpp")>; } @@ -2526,22 +2527,22 @@ multiclass VOP2Only_Real_DOT_ACC_gfx10 op> : VOP2_Real_dpp_gfx10, defm NAME : VOP2_Real_e32_gfx10; } -let SubtargetPredicate = HasDot5Insts in { +let OtherPredicates = [HasDot5Insts] in { defm V_DOT2C_F32_F16 : VOP2_Real_DOT_ACC_gfx9<0x37>; // NB: Opcode conflicts with V_DOT8C_I32_I4 // This opcode exists in gfx 10.1* only defm V_DOT2C_F32_F16 : VOP2Only_Real_DOT_ACC_gfx10<0x02>; } -let SubtargetPredicate = HasDot6Insts in { +let OtherPredicates = [HasDot6Insts] in { defm V_DOT4C_I32_I8 : VOP2_Real_DOT_ACC_gfx9<0x39>; defm V_DOT4C_I32_I8 : VOP2Only_Real_DOT_ACC_gfx10<0x0d>; } -let SubtargetPredicate = HasDot4Insts in { +let OtherPredicates = [HasDot4Insts] in { defm V_DOT2C_I32_I16 : VOP2_Real_DOT_ACC_gfx9<0x38>; } -let SubtargetPredicate = HasDot3Insts in { +let OtherPredicates = [HasDot3Insts] in { defm V_DOT8C_I32_I4 : VOP2_Real_DOT_ACC_gfx9<0x3a>; }