@@ -2471,15 +2471,24 @@ class VOPProfile_True16<VOPProfile P> : VOPProfile<P.ArgVT> {
2471
2471
let IsTrue16 = 1;
2472
2472
let IsRealTrue16 = 1;
2473
2473
// 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;
2475
2475
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;
2477
2478
let Src0DPP = getVregSrcForVT_t16<Src0VT>.ret;
2478
2479
let Src1DPP = getVregSrcForVT_t16<Src1VT>.ret;
2479
2480
let Src2DPP = getVregSrcForVT_t16<Src2VT>.ret;
2480
2481
let Src0ModDPP = getSrcModDPP_t16<Src0VT>.ret;
2481
2482
let Src1ModDPP = getSrcModDPP_t16<Src1VT>.ret;
2482
2483
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;
2483
2492
}
2484
2493
2485
2494
class VOPProfile_Fake16<VOPProfile P> : VOPProfile<P.ArgVT> {
0 commit comments