MTP1 loads the middle Octeon3 partial-product pair from rs/rt into P[1] and P[4].
This completes the second guest-visible partial-product slot used by the Octeon multiplier helpers. Signed-off-by: James Hilliard <[email protected]> --- Changes v2 -> v3: - Split MTP1 out of the combined Octeon arithmetic and memory instruction patch. (requested by Richard Henderson) Changes v3 -> v4: - Describe the Octeon3 rs/rt P[1]/P[4] pair handled by the shared MTP translator. --- target/mips/tcg/octeon.decode | 1 + target/mips/tcg/octeon_translate.c | 1 + 2 files changed, 2 insertions(+) diff --git a/target/mips/tcg/octeon.decode b/target/mips/tcg/octeon.decode index 59ab7401ab..670a12a956 100644 --- a/target/mips/tcg/octeon.decode +++ b/target/mips/tcg/octeon.decode @@ -46,6 +46,7 @@ SNEI 011100 rs:5 rt:5 imm:s10 101111 &cmpi &r2 rs rt MTM0 011100 rs:5 rt:5 00000 00000 001000 &r2 MTP0 011100 rs:5 rt:5 00000 00000 001001 &r2 +MTP1 011100 rs:5 rt:5 00000 00000 001010 &r2 &saa base rt @saa ...... base:5 rt:5 ................ &saa diff --git a/target/mips/tcg/octeon_translate.c b/target/mips/tcg/octeon_translate.c index 88f64e791d..3f954eb134 100644 --- a/target/mips/tcg/octeon_translate.c +++ b/target/mips/tcg/octeon_translate.c @@ -292,3 +292,4 @@ TRANS(LWUX, trans_lx, MO_UL); TRANS(LDX, trans_lx, MO_UQ); TRANS(MTM0, trans_mtm, 0); TRANS(MTP0, trans_mtp, 0); +TRANS(MTP1, trans_mtp, 1); -- 2.54.0
