On 19/5/26 18:22, James Hilliard wrote:
VMM0 multiplies MPL[0] by rs, adds rt and the queued P[0] partial
product, returns the low result, and feeds that result back into MPL[0].
It sets MPL[1] to zero and clears partial products.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: James Hilliard <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
---
Changes v8 -> v9:
- Reuse octeon_zero_partial_product_state() for partial-product
clearing.
Changes v2 -> v3:
- Split VMM0 out of the combined Octeon arithmetic and memory
instruction patch. (requested by Richard Henderson)
Changes v3 -> v4:
- Document the Octeon3 chain update behavior.
Changes v5 -> v6:
- Zero MPL1 after checking the CN71XX VMM0 definition and add
MPL1 smoke coverage.
Changes v7 -> v8:
- Use Richard Henderson's v7.5 inline TCG translator, which keeps
only the architecturally defined MPL1 and partial-product clearing.
---
target/mips/tcg/octeon.decode | 1 +
target/mips/tcg/octeon_translate.c | 16 ++++++++++++++++
2 files changed, 17 insertions(+)
Tested-by: Philippe Mathieu-Daudé <[email protected]>