[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [RFC PATCH 4/6] target/ppc: switch FPR, VMX and VSX helpe
Re: [Qemu-ppc] [RFC PATCH 4/6] target/ppc: switch FPR, VMX and VSX helpers to access data directly from cpu_env
Mon, 10 Dec 2018 13:05:52 -0600
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1
On 12/7/18 2:56 AM, Mark Cave-Ayland wrote:
> Instead of accessing the FPR, VMX and VSX registers through static arrays of
> TCGv_i64 globals, remove them and change the helpers to load/store data
> within cpu_env.
> Signed-off-by: Mark Cave-Ayland <address@hidden>
> target/ppc/translate.c | 59
> 1 file changed, 16 insertions(+), 43 deletions(-)
Reviewed-by: Richard Henderson <address@hidden>
Note however, that there are other steps that you must add here before using
vector operations in the next patch:
(1a) The fpr and vsr arrays must be merged, since fpr[n] == vsrh[n].
If this isn't done, then you simply cannot apply one operation
to two disjoint memory blocks.
(1b) The vsr and avr arrays should be merged, since vsr[32+n] == avr[n].
This is simply tidiness, matching the layout to the architecture.
These steps will modify gdbstub.c, machine.c, and linux-user/.
(2) The vsr array needs to be QEMU_ALIGN(16). See target/arm/cpu.h.
We assert that the host addresses are 16 byte aligned, so that we
can eventually use Altivec/VSX in tcg/ppc/.
[Qemu-ppc] [RFC PATCH 5/6] target/ppc: convert VMX logical instructions to use vector operations, Mark Cave-Ayland, 2018/12/07