@@ -2471,15 +2471,24 @@ class VOPProfile_True16<VOPProfile P> : VOPProfile<P.ArgVT> {
24712471 let IsTrue16 = 1;
24722472 let IsRealTrue16 = 1;
24732473 // Most DstVT are 16-bit, but not all.
2474- let DstRC = getVALUDstForVT_fake16 <DstVT>.ret;
2474+ let DstRC = getVALUDstForVT <DstVT, 1 /*IsTrue16*/, 0 /*IsVOP3Encoding*/ >.ret;
24752475 let DstRC64 = getVALUDstForVT<DstVT>.ret;
2476- let Src1RC32 = RegisterOperand<getVregSrcForVT_t16<Src1VT>.ret>;
2476+ let Src0RC32 = getVOPSrc0ForVT<Src0VT, 1 /*IsTrue16*/, 0 /*IsFake16*/>.ret;
2477+ let Src1RC32 = getVregSrcForVT_t16<Src1VT, 0 /*IsFake16*/>.op;
24772478 let Src0DPP = getVregSrcForVT_t16<Src0VT>.ret;
24782479 let Src1DPP = getVregSrcForVT_t16<Src1VT>.ret;
24792480 let Src2DPP = getVregSrcForVT_t16<Src2VT>.ret;
24802481 let Src0ModDPP = getSrcModDPP_t16<Src0VT>.ret;
24812482 let Src1ModDPP = getSrcModDPP_t16<Src1VT>.ret;
24822483 let Src2ModDPP = getSrcModDPP_t16<Src2VT>.ret;
2484+
2485+ let DstRC64 = getVALUDstForVT<DstVT, 1 /*IsTrue16*/, 1 /*IsVOP3Encoding*/>.ret;
2486+ let Src0RC64 = getVOP3SrcForVT<Src0VT, 1 /*IsTrue16*/>.ret;
2487+ let Src1RC64 = getVOP3SrcForVT<Src1VT, 1 /*IsTrue16*/>.ret;
2488+ let Src2RC64 = getVOP3SrcForVT<Src2VT, 1 /*IsTrue16*/>.ret;
2489+ let Src0Mod = getSrcMod<Src0VT, 1 /*IsTrue16*/>.ret;
2490+ let Src1Mod = getSrcMod<Src1VT, 1 /*IsTrue16*/>.ret;
2491+ let Src2Mod = getSrcMod<Src2VT, 1 /*IsTrue16*/>.ret;
24832492}
24842493
24852494class VOPProfile_Fake16<VOPProfile P> : VOPProfile<P.ArgVT> {
0 commit comments