@@ -892,6 +892,8 @@ class VOP1_DPP16_Gen<bits<8> op, VOP1_DPP_Pseudo ps, GFXGen Gen, VOPProfile p =
892
892
VOP1_DPP16 <op, ps, Gen.Subtarget, p> {
893
893
let AssemblerPredicate = Gen.AssemblerPredicate;
894
894
let DecoderNamespace = Gen.DecoderNamespace;
895
+ let OtherPredicates = !listconcat(ps.OtherPredicates,
896
+ !if(p.HasExt64BitDPP, [HasDPALU_DPP], []));
895
897
}
896
898
897
899
class 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,
967
969
968
970
multiclass VOP1_Real_dpp8<GFXGen Gen, bits<9> op, string opName = NAME> {
969
971
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>;
971
974
}
972
975
973
976
multiclass 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,
976
979
let AsmString = asmName # ps.Pfl.AsmDPP8,
977
980
DecoderNamespace = Gen.DecoderNamespace #
978
981
!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>;
980
984
}
981
985
}
982
986
0 commit comments