target/ppc: move Vsr* macros from internal.h to cpu.h
It isn't possible to include internal.h from cpu.h so move the Vsr* macros into cpu.h alongside the other VMX/VSX register access functions. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-Id: <20190307180520.13868-4-mark.cave-ayland@ilande.co.uk> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
45141dfd23
commit
da7815ef31
@ -2563,6 +2563,26 @@ static inline bool lsw_reg_in_range(int start, int nregs, int rx)
|
||||
}
|
||||
|
||||
/* Accessors for FP, VMX and VSX registers */
|
||||
#if defined(HOST_WORDS_BIGENDIAN)
|
||||
#define VsrB(i) u8[i]
|
||||
#define VsrSB(i) s8[i]
|
||||
#define VsrH(i) u16[i]
|
||||
#define VsrSH(i) s16[i]
|
||||
#define VsrW(i) u32[i]
|
||||
#define VsrSW(i) s32[i]
|
||||
#define VsrD(i) u64[i]
|
||||
#define VsrSD(i) s64[i]
|
||||
#else
|
||||
#define VsrB(i) u8[15 - (i)]
|
||||
#define VsrSB(i) s8[15 - (i)]
|
||||
#define VsrH(i) u16[7 - (i)]
|
||||
#define VsrSH(i) s16[7 - (i)]
|
||||
#define VsrW(i) u32[3 - (i)]
|
||||
#define VsrSW(i) s32[3 - (i)]
|
||||
#define VsrD(i) u64[1 - (i)]
|
||||
#define VsrSD(i) s64[1 - (i)]
|
||||
#endif
|
||||
|
||||
static inline int fpr_offset(int i)
|
||||
{
|
||||
return offsetof(CPUPPCState, vsr[i].u64[0]);
|
||||
|
@ -204,25 +204,6 @@ EXTRACT_HELPER(IMM8, 11, 8);
|
||||
EXTRACT_HELPER(DCMX, 16, 7);
|
||||
EXTRACT_HELPER_SPLIT_3(DCMX_XV, 5, 16, 0, 1, 2, 5, 1, 6, 6);
|
||||
|
||||
#if defined(HOST_WORDS_BIGENDIAN)
|
||||
#define VsrB(i) u8[i]
|
||||
#define VsrSB(i) s8[i]
|
||||
#define VsrH(i) u16[i]
|
||||
#define VsrSH(i) s16[i]
|
||||
#define VsrW(i) u32[i]
|
||||
#define VsrSW(i) s32[i]
|
||||
#define VsrD(i) u64[i]
|
||||
#define VsrSD(i) s64[i]
|
||||
#else
|
||||
#define VsrB(i) u8[15 - (i)]
|
||||
#define VsrSB(i) s8[15 - (i)]
|
||||
#define VsrH(i) u16[7 - (i)]
|
||||
#define VsrSH(i) s16[7 - (i)]
|
||||
#define VsrW(i) u32[3 - (i)]
|
||||
#define VsrSW(i) s32[3 - (i)]
|
||||
#define VsrD(i) u64[1 - (i)]
|
||||
#define VsrSD(i) s64[1 - (i)]
|
||||
#endif
|
||||
static inline void getVSR(int n, ppc_vsr_t *vsr, CPUPPCState *env)
|
||||
{
|
||||
vsr->VsrD(0) = env->vsr[n].u64[0];
|
||||
|
Loading…
Reference in New Issue
Block a user