target/mips/mxu: Add S32MADD/MADDU/MSUB/MSUBU instructions
authorSiarhei Volkau <lis8215@gmail.com>
Thu, 8 Jun 2023 10:41:53 +0000 (13:41 +0300)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Mon, 10 Jul 2023 21:33:38 +0000 (23:33 +0200)
commit199fc7d2790ce07f054fc2773dce8ae9e9fc3046
treefca5fcf89c4f42e63e85f753fddca3d4f4087917
parent73c260c1a63cabe81676a28e957df10ea2395443
target/mips/mxu: Add S32MADD/MADDU/MSUB/MSUBU instructions

These instructions used to multiply 2x32-bit GPR sources & accumulate
result into 64-bit pair of XRF registers.

These instructions stain HI/LO registers with the final result.

Their opcode is close to the MIPS32R1 MADD[U]/MSUB[U], so it have to
call decode_opc_special2_legacy when failing to find MXU opcode.
Moreover, it solves issue with reinventing MUL and malfunction
MULU/CLZ/CLO instructions.

Signed-off-by: Siarhei Volkau <lis8215@gmail.com>
Message-Id: <20230608104222.1520143-5-lis8215@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
target/mips/tcg/mxu_translate.c
target/mips/tcg/translate.c