@@ -892,6 +892,8 @@ class VOP1_DPP16_Gen<bits<8> op, VOP1_DPP_Pseudo ps, GFXGen Gen, VOPProfile p =
892892 VOP1_DPP16 <op, ps, Gen.Subtarget, p> {
893893 let AssemblerPredicate = Gen.AssemblerPredicate;
894894 let DecoderNamespace = Gen.DecoderNamespace;
895+ let OtherPredicates = !listconcat(ps.OtherPredicates,
896+ !if(p.HasExt64BitDPP, [HasDPALU_DPP], []));
895897}
896898
897899class VOP1_DPP8<bits<8> op, VOP1_Pseudo ps, VOPProfile p = ps.Pfl> :
@@ -967,7 +969,8 @@ multiclass VOP1_Real_dpp_with_name<GFXGen Gen, bits<9> op, string opName,
967969
968970multiclass VOP1_Real_dpp8<GFXGen Gen, bits<9> op, string opName = NAME> {
969971 defvar ps = !cast<VOP1_Pseudo>(opName#"_e32");
970- def _dpp8#Gen.Suffix : VOP1_DPP8_Gen<op{7-0}, ps, Gen>;
972+ if !not(ps.Pfl.HasExt64BitDPP) then
973+ def _dpp8#Gen.Suffix : VOP1_DPP8_Gen<op{7-0}, ps, Gen>;
971974}
972975
973976multiclass VOP1_Real_dpp8_with_name<GFXGen Gen, bits<9> op, string opName,
@@ -976,7 +979,8 @@ multiclass VOP1_Real_dpp8_with_name<GFXGen Gen, bits<9> op, string opName,
976979 let AsmString = asmName # ps.Pfl.AsmDPP8,
977980 DecoderNamespace = Gen.DecoderNamespace #
978981 !if(ps.Pfl.IsRealTrue16, "", "_FAKE16") in {
979- defm NAME : VOP1_Real_dpp8<Gen, op, opName>;
982+ if !not(ps.Pfl.HasExt64BitDPP) then
983+ defm NAME : VOP1_Real_dpp8<Gen, op, opName>;
980984 }
981985}
982986
0 commit comments