target/ppc: introduce get_fpr() and set_fpr() helpers for FP register access

These helpers allow us to move FP register values to/from the specified TCGv_i64
argument in the VSR helpers to be introduced shortly.

To prevent FP helpers accessing the cpu_fpr array directly, add extra TCG
temporaries as required.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Mark Cave-Ayland 2019-01-02 09:14:17 +00:00 committed by David Gibson
parent 4c23c2a538
commit 1a404c91bd
2 changed files with 386 additions and 110 deletions

View File

@ -6699,6 +6699,16 @@ static inline void gen_##name(DisasContext *ctx) \
GEN_TM_PRIV_NOOP(treclaim);
GEN_TM_PRIV_NOOP(trechkpt);
static inline void get_fpr(TCGv_i64 dst, int regno)
{
tcg_gen_mov_i64(dst, cpu_fpr[regno]);
}
static inline void set_fpr(int regno, TCGv_i64 src)
{
tcg_gen_mov_i64(cpu_fpr[regno], src);
}
#include "translate/fp-impl.inc.c"
#include "translate/vmx-impl.inc.c"

File diff suppressed because it is too large Load Diff