target/ppc: introduce separate VSX_CMP macro for xvcmp* instructions
commit00084a25adf7d55f345453eabbad7c81b4e83955
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Sun, 16 Jun 2019 12:37:40 +0000 (16 13:37 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 1 Jul 2019 23:43:58 +0000 (2 09:43 +1000)
treeed77ae8f5315c9e1da1eef690dac742b7bb02cd5
parent03b32c092ea9b0d3a8d49586edf50a63f8ccffd9
target/ppc: introduce separate VSX_CMP macro for xvcmp* instructions

Rather than perform the VSR register decoding within the helper itself,
introduce a new VSX_CMP macro which performs the decode based upon xT, xA
and xB at translation time.

Subsequent commits will make the same changes for other instructions however
the xvcmp* instructions are different in that they return a set of flags to be
optionally written back to the crf[6] register. Move this logic from the
helper function to the generator function, along with the float_status update.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20190616123751.781-5-mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
target/ppc/fpu_helper.c
target/ppc/helper.h
target/ppc/translate/vsx-impl.inc.c